[MSSQL] DATEDIFF, DATEADD 날짜 비교, 날짜 계산
DATEDIFF 두 날짜의 차이를 계산하는 함수이다. 즉, 시작 날짜에서 종료 날짜까지의 일 수 차이를 반환한다. SELECT DATEDIFF(날짜형식, 시작날짜, 종료날짜) 1) 두 날짜의 차이 일 수 SELECT DATEDIFF(DAY, '2017-02-13', '2017-03-15') AS '차이 일 수' 2) 두 날짜 비교 DECLARE @Date DATETIME = '2017-02-15' IF DATEDIFF(d, @Date, '2017-02-13') > 0 SELECT '2017-02-13 미만 (미포함)' ELSE IF DATEDIFF(d, @Date, '2017-02-13')
[MSSQL] date format 날짜 형식 (CONVERT DATETIME)
date format 날짜 포맷 CONVERT([포맷(크기)], [날짜값], [변환형식]) 다양한 날짜 표현 SELECT GETDATE() -- 2016-08-29 13:34:42.030 SELECT CONVERT(VARCHAR, GETDATE(), 0) -- 08 29 2016 1:34PM SELECT CONVERT(VARCHAR, GETDATE(), 1) -- 08/29/16 SELECT CONVERT(VARCHAR, GETDATE(), 2) -- 16.08.29 SELECT CONVERT(VARCHAR, GETDATE(), 3) -- 29/08/16 SELECT CONVERT(VARCHAR, GETDATE(), 4) -- 29.08.16 SELECT CONVERT(VARCHAR, GETDATE(),..
[MSSQL] OUTPUT INSERTED, DELETED 데이터 수정 및 삭제 전 백업
OUTPUT INSERTED, OUTPUT DELETED OUTPUT SELECT문과 달리 INSERT, UPDATE, DELETE문은 결과가 리턴되지 않는다. OUTPUT은 INSERT, UPDATE, DELETE 또는 MERGE 문의 영향을 받는 각 행의 정보 또는 각 행을 기반으로 하는 식을 반환 예제. INSERT 결과 데이터 리턴 #TEMP_T 테이블에 데이터를 입력해보자 INSERT INTO #TEMP_T (NAME, SCORE) VALUES('A', 100) 위의 쿼리를 수행하면, (1개 행이 영향을 받음)과 같은 메시지를 출력한다. 하지만, 나는 내가 입력시킨 데이터의 값을 리턴시키고싶다. INSERT INTO #TEMP_T (NAME, SCORE) OUTPUT INSERTED.* VALU..