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
'MSSQL' 카테고리의 다른 글
SQL Server(MSSQL) - 문자열 합치기 (CONCAT, +) (0) | 2023.03.19 |
---|---|
SQL Server(MSSQL) - 테이블 디자이너에 설명 속성 추가 방법 (0) | 2023.01.11 |
SQL SERVER (MSSQL) - AdventureWorks 예제 데이터베이스 다운방법 (초간단) (0) | 2023.01.11 |
MSSQL 기간검색 (날짜 기간검색, BETWEEN 함수) (0) | 2022.08.23 |
SSMS 쿼리 결과창 닫기 단축키 (0) | 2022.08.23 |
댓글