본문 바로가기
MSSQL

MSSQL / Date 포맷 컬럼에 NULL값 넣기 (1900-01-01로 들어가는 현상 해결법)

by csn123 2022. 8. 10.

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

댓글