아하
생활
탈퇴한 사용자
탈퇴한 사용자
19.05.13

mssql isdate는 어떻게 쓰는건가요??

mssql 쿼리에서 찾아보니 isdate라는게 있더라구요

찾아보니 isdate가 현재 데이터가 date형식인지 아닌지

판단하기 위해서 쓰이는거같고 워낙 종류가 많던데

쓰는방법과 종류좀 알려주세요!

55글자 더 채워주세요.
1개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자
    19.05.13

    안녕하세요?

    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번에 대해 어떻게 인식하는지 직접 보여 드립니다.

    참고로 이 결과는 국가나 언어설정에 따라 조금 다른 차이가 있을 수 있습니다.

    다만, 그 부분에 대해서는 다루지 않았으니 주의해 주세요...