• 쇼핑몰
  • 커뮤니티
  • 북마크

MSSQL

ms-sql 시간 날짜 더하기

아트스퀘어
2020.04.22 10:30 11,191 0

본문

1. 날짜, 시간 함수

DATEADD -- 지정한 날짜에 시간 간격을 더하여 새 datetime 값을 반환

DATEDIFF -- 지정한 두 날짜 간에 교차되는 날짜와 시간 경계값을 반환

DATENAME -- 지정한 날짜의 특정 날짜 부분을 나타내는 문자열을 반환

DATEPART -- 지정한 날짜의 특정 날짜 부분을 나타내는 정수를 반환

DAY -- 지정한 날짜의 일 부분을 나타내는 정수를 반환

GETDATE -- 현재 시스템 날짜와 시간을 datetime 값의 SQL Server™ 표준 내부 형식으로 반환

GETUTCDATE -- 현재 UTC 시간(국제 표준시 또는 그리니치 표준시)을 나타내는 datetime 값을 반환합니다.

YEAR(MONTH, DAY) -- 지정한 날짜의 연도 부분을 표시하는 정수를 반환

FormatDateTime -- 특정 날짜 형태로 지정된 날짜를 변환

 

세기 포함 안함
(yy)

세기 포함
(yyyy)

표준

입력/출력**

-

0 또는 100 (*)

기본값

mon dd yyyy hh:miAM(또는 PM)

1

101

   usa

mm/dd/yy

2

102

ANSI

yy.mm.dd

3

103

영국/프랑스

dd/mm/yy

4

104

독일

dd.mm.yy

5

105

이탈리아

dd-mm-yy

6

106

-

dd mon yy

7

107

-

Mon dd, yy

8

108

-

hh:mm:ss

-

9 또는 109 (*)

기본값 + 밀리초

mon dd yyyy hh:mi:ss:mmmAM(또는 PM)

10

110

usa

mm-dd-yy

11

111

일본

yy/mm/dd

12

112

ISO

yymmdd

-

13 또는 113 (*)

유럽 기본값 + 밀리초

dd mon yyyy hh:mm:ss:mmm(24h)

14

114

-

hh:mi:ss:mmm(24h)

-

20 또는 120 (*)

ODBC 표준

yyyy-mm-dd hh:mi:ss(24h)

-

21 또는 121 (*)

ODBC 표준(밀리초)

yyyy-mm-dd hh:mi:ss.mmm(24h)

-

126(***)

ISO8601

yyyy-mm-dd Thh:mm:ss:mmm(공간 없음)

-

130*

쿠웨이트

dd mon yyyy hh:mi:ss:mmmAM

-

131*

쿠웨이트

dd/mm/yy hh:mi:ss:mmmAM

 

2. 사용 예제

 

. DATEADD

 

DECLARE @DateNow DATETIME

SET @DateNow=getdate()

SELECT DATEADD(Year, 3, @DateNow) AS NewDate -- 3년후

SELECT DATEADD(quarter, 3, @DateNow) AS NewDate -- 3분기후

SELECT DATEADD(Month, 3, @DateNow) AS NewDate -- 3달후

SELECT DATEADD(Month, -1, @DateNow) AS NewDate -- 한달전

SELECT DATEADD(dayofyear,3, @DateNow) AS NewDate -- 3일후

SELECT DATEADD(Day, 3, @DateNow) AS NewDate -- 3일후

SELECT DATEADD(Week, 3, @DateNow) AS NewDate -- 3주후

SELECT DATEADD(Hour, 3, @DateNow) AS NewDate -- 3시간후

SELECT DATEADD(minute, 3, @DateNow) AS NewDate -- 3분 후

SELECT DATEADD(second, 3, @DateNow) AS NewDate -- 3초 후

SELECT DATEADD(millisecond, 3, @DateNow) AS NewDate -- 밀리초

 

1) 해당 월의 마지막 날짜 구하기 <o:p></o:p>

SELECT DATEADD(ms, -5, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))<o:p></o:p>

 

2) '200708' 받은 날짜의 마지막 날짜 구하기<o:p></o:p>

SELECT Replace(Convert(Char(10), DateAdd(d, -day('200709'+'01'), DateAdd(M,1,'200709'+'01')),120),'-','')

댓글목록 0

등록된 댓글이 없습니다.