MSSQL
MSSQL / Date 포맷 컬럼에 NULL값 넣기 (1900-01-01로 들어가는 현상 해결법)
csn123
2022. 8. 10. 22:28
MSSQL 에서 포맷이 DATE 인 컬럼에 NULL값을 INSERT 하려고 하면 값이 '1900-01-01' 로 자동으로 들어가게 된다.(빡친다)
IIF 함수를 사용하여 '' (빈값)인경우에 NULL로 들어가게 해주자...
INSERT INTO ORDER
(
COL1,
...
ORDERDATE
)
VALUES
(
COL1,
...
IIF(@ORDERDATE = '', NULL, CONVERT(DATE, @ORDERDATE)
)
응용+) 프로시저 사용시
@_DATE NVARCHAR(100)
INSERT INTO ORDER
(
ORDERDATE
)
VALUES
(
IIF(@_DATE = '', NULL, @_DATE)
)
코드내에서 yyyy-MM-dd 까지 자르고 인풋파라메터로 @_DATE 받아서 위와같이 사용하면 될듯
출처:
https://www.sqlservercentral.com/forums/topic/stored-procedure-insert-null-value-to-date-column