mssql isdate는 어떻게 쓰는건가요??
mssql 쿼리에서 찾아보니 isdate라는게 있더라구요
찾아보니 isdate가 현재 데이터가 date형식인지 아닌지
판단하기 위해서 쓰이는거같고 워낙 종류가 많던데
쓰는방법과 종류좀 알려주세요!
안녕하세요?
ISDATE에 대해서 물어보셨는데 질문자님께서 말씀하신 데이터형식이
DATE형식인지 확인하기위해서 쓰인답니다
밑에 종류별로 사용법 알려드리겠습니다^^
1 : ISDATE('20120101') AS '1' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
2 : ISDATE('2012/01/01') AS '2' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
3 : ISDATE('2012-01-01') AS '3' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
4 : ISDATE('12-01-01') AS '4' : 기본 짧은날짜 형태 중 하나입니다. "1"을 반환합니다.
5 : ISDATE('2012-04-31') AS '5' : ISDATE 함수는 이럴 때 빛을 발하죠... 4월 31일은 없습니다. "0"을 반환합니다.
6 : ISDATE(NULL) AS '6' : NULL 값일 경우 "0"을 반환합니다.
7 : ISDATE('201l-12-31') AS '7' : '어, 이상한데? 1이 되어야 하는 거 아닌가?' 하지만 잘 보면 2011이 아니라 201L 입니다. "0"을 반환합니다.8. ISDATE('123') AS '8' : 날짜형태라고 볼 수 없죠. 당연히 "0"을 반환합니다.
9 : ISDATE('2012-01-01 15:55:59.455') AS '9' : ISDATE 함수는 초의 소수점 세 자리까지 받아들일 수 있습니다. "1"을 반환합니다.
10 : ISDATE('2012-01-01 15:55:59.4551') AS '10' : 9번 설명과 같습니다. 소수점 자리수 초과로 "0"을 반환합니다.
11 : ISDATE('1752-12-31') AS '11' : '어, 이것도 날짜 맞잖아.' 네. 맞습니다. 하지만 "0"을 반환합니다.
12 : ISDATE('1753-01-01') AS '12' : 윗 글을 읽으셨나요? 이제 왜 위의 날짜와 하루 차이인데 "1"을 반환하는 지 아실 겁니다. ^^.
13 : ISDATE('2999-01-01') AS '13' : 아직 오지 않은 2999년. 다들 그 때까지 살아 계실 거죠? 정상적인 일자로 "1"을 반환합니다.
14 : ISDATE('9999-12-31') AS '14' : 이제 조금 더 가 보겠습니다.. 9999년 12월 31일. 네... 오래 사세요. "1"을 반환합니다.
15 : ISDATE('01/2012/12')AS '15' : 년-월-일 같은 형태와 달리 월-년-일로 처리해 보았습니다. "1"로 반환하네요. 날짜로 인식합니다.
16 : CONVERT(DATETIME,'01/2012/12') AS 'DATETIME-01/2012/12' : 15번에 대해 어떻게 인식하는지 직접 보여 드립니다.참고로 이 결과는 국가나 언어설정에 따라 조금 다른 차이가 있을 수 있습니다.
다만, 그 부분에 대해서는 다루지 않았으니 주의해 주세요...