|
유엔아이 현입니다.
다음두번 한게시물에 한 질문만 해주시면 감솨 ~~^^;;
처음 문제인
날짜형 검색은 DBMS 마다 많은 차이를 보입니다.
님이 텍스트 형태로 필드를 잡았다고 할지라도 날짜로 인식 해주는 고마운 DBMS 가 있는가하면
오로지 텍스트로만 보는 무식한 DBMS 도 있지요~
또 검색 하는 방법론도 DBMS 마다 약간씩 되는 문장이 있고 않되는 문장들이 있답니다.
만약 텍스트 문자열을 가지고 날짜 검색을 해야 한다면 다음과같이 해보십시요
Where
VAL(LEFT(날짜,4)) * 10000 + VAL(SUBSTRING(날짜,6,2)) * 100 + VAL(RIGHT(날짜,2)) >= 20010101
AND
VAL(LEFT(날짜,4)) * 10000 + VAL(SUBSTRING(날짜,6,2)) * 100 + VAL(RIGHT(날짜,2)) <= 20010201
날짜형으로도 인식을 해준다면
Where
Year(날짜) * 10000 + Month(날짜) * 100 + Day(날짜) >= 20010101
AND
Year(날짜) * 10000 + Month(날짜) * 100 + Day(날짜) <= 20010201
이런식으로 해주면 어떤 DBMS 고 거의다 동작을 합니다.
단 단점은 약간 느리다는점이구요~
어떤 디비는 이런것도 먹는 답니다.
Format(날짜,'yyyymmdd')
이렇게도 ㅋㅋㅋㅋ
SQL 정석으로 기간 검색을 하실때에는 다음과 같이 하십시요~
(그러나 않되는 DBMS도 많다는 걸 염두 )
Where
날짜 BETWEEN '2001-01-01' AND '2001-02-01'
단 윈도우 시스템의 구가별 설정의 날짜약식을 yyyy-mm-dd 로 설정 하셔야 할겁니다.
다음으로 Like 문장에 대해서
% / * / _ 로 임의의 문장을 대치 할수 있는데 ...
사용법은 다음과 같이
Like '가%' : 가로시작하는 모든열
Like '%가%' : 가자가 들어있는 모든열
Like '%가' : 가로 끝나는 모든열
양식 검색을 할때는
Like '___A' : 앞에 3 Byte 가 무슨 문자이던간에 총 4 자이면서 A 로 끝나는 모든열 ...
그럼 나머지 이해하시겠저~~
##ㅏ##ㅏ
|