본문 바로가기

MSSQL3

오라클 LIKE 검색시에는 왜 이럴까? Select 문을 한개씩 실행해 보아라. 왜 그럴까? with temp as ( select cast( '' as char(3)) as tt from dual union all select cast( '123' as char(3)) from dual ) --select * from temp where tt like '%' select * from temp where nvl(tt,'asdf') like '%' with temp as ( select cast( '' as varchar2(3)) as tt from dual union all select cast( '123' as varchar2(3)) from dual ) --select * from temp where tt like '%' select * .. 2007. 12. 4.
삭제 된 증가되는 값 찾아보기? 할 것도 없고 해서 문득 생각난 김에 함 만들어 보았다. - 보통 증가되는 값은 키값이고, 어떤 클라이언트들은 중간에 삭제된 이 값들을 빼먹지 말고 다시 저장 되게 해달라고 한다. 보통의 채번 하는 쿼리는 대강 max(컬럼) + 1 의 형태 이니까, 일반적으로는 안되고 삽질을 해야 할 것 같다. WITH abc AS( SELECT 1 AS num, 'ab' a FROM dual UNION ALL SELECT 2 , 'cd' a FROM dual UNION ALL SELECT 3 , 'ef' a FROM dual UNION ALL SELECT 4 , 'gh' a FROM dual UNION ALL SELECT 5 , 'ij' a FROM dual UNION ALL SELECT 6 , 'kl' a FROM .. 2007. 9. 11.
IS NOT NULL 관련해서. is not null을 부정문 형태를 긍정문 형태로 바꿔 보자. 심심하기도 하고, 현업에서 조회 쿼리 느린게 있다고 연락와서 살펴 본 결과, 왼쪽 컬럼에 변형을 많이 가했고, is not null이라는 부정문을 사용 했더라. 그리고 평상시는 그럭저럭 괜찮은데 사용자가 많을때 쿼리 속도는 더욱더 떨어지고 있고... 일단 정공법으로 돌진. -- NULL TEST SELECT * FROM ( SELECT NULL AS A, '11' B FROM DUAL UNION ALL SELECT '' AS A, '22' B FROM DUAL UNION ALL SELECT '1' AS A, '33' B FROM DUAL UNION ALL SELECT '2' AS A, '44' B FROM DUAL UNION ALL SELECT ' ' AS A, '55' B FROM DUAL ) C WH.. 2007. 8. 22.
반응형