프로그래밍/MSSQL 2017. 6. 23. 09:46 VARCHAR(8)의 문자 '20170615' VARCHAR(6)의 문자 '172929' 이것을 DATETIME형식의 '2017-06-15 17:29:29.000'으로 변환해보자 즉, yyyyMMdd hhmmss를 yyyy-MM-dd hh:mm:ss로 변환 DECLARE @yyyymmdd VARCHAR(8) = '20170615'
DECLARE @hhmmss VARCHAR(6) = '172929'
SELECT CONVERT(DATETIME, @yyyymmdd + ' ' + STUFF(STUFF(@hhmmss, 3, 0, ':'), 6, 0, ':'), 120)VARCHAR타입의 문자를 DATETIME으로 변경해보자
[MSSQL] CONVERT, CAST 형변환 함수
[MSSQL] 월 말일 날짜 가져오기
[MSSQL] 특정 기간에 해당하는 모든 날짜 (MASTER..SPT_VALUES)
[MSSQL] 날짜 변환표 CONVERT, GETDATE() 날짜 형식 포맷 변경
[MSSQL] 세로 데이터 가로로 출력 (데이터 한줄로 출력) STUFF, FOR XML PATH
[MSSQL] 문자열 치환함수 (REPLACE, STUFF)
'프로그래밍/MSSQL' Related Articles
날짜 함수 관련 DATE구분 | |||
DATE구분 | 구분약자 | DATE구분 | 구분약자 |
year | yy | week | wk |
quarter | hour | hh | |
month | mm | minute | mi |
day of year | dy | second | ss |
day | dd | millisecond | ms |
항목 | 내용 | ||
GETDATE() | 시스템에서 제공하는 날짜와 시간 값 | ||
산술연산 | -- date + NUMBER -- date - NUMBER |
1 . GETDATE() 함수 ~~ System 의 현재 설정된 날짜값 반환
SELECT GETDATE()
2009-02-17 11:48:53.873
SELECT GETDATE()+100
2009-05-28 11:49:00.670
2 . CONVERT() 함수 ~~ 결과값의 데이타 타입을 변환
SELECT CONVERT(varchar(30), GETDATE(),100)
02 17 2009 11:49AM
SELECT CONVERT(varchar(30), GETDATE(),101)
02/17/2009
SELECT CONVERT(varchar(30), GETDATE(),102)
2009.02.17
SELECT CONVERT(varchar(30), GETDATE(),103)
17/02/2009
SELECT CONVERT(varchar(30), GETDATE(),104)
17.02.2009
SELECT CONVERT(varchar(30), GETDATE(),105)
17-02-2009
SELECT CONVERT(varchar(30), GETDATE(),106)
17 02 2009
SELECT CONVERT(varchar(30), GETDATE(),107)
02 17, 2009
SELECT CONVERT(varchar(30), GETDATE(),108)
11:49:49
SELECT
CONVERT(varchar(30), GETDATE(),109)
02 17 2009 11:49:54:437AM
SELECT CONVERT(varchar(30), GETDATE(),110)
02-17-2009
SELECT CONVERT(varchar(30), GETDATE(),111)
2009/02/17
SELECT CONVERT(varchar(30), GETDATE(),112)
20090217
SELECT
CONVERT(varchar(30), GETDATE(),113)
17 02 2009 11:50:24:857
SELECT CONVERT(varchar(30), GETDATE(),114)
11:50:32:217
3 . DATEPART() 함수 ~~ 날짜에서 지정한 날짜형식 부분만 반환
형식: DATEPART(날짜형식, 날짜)
년/월/일/시/분/초/요일을 숫자 형식으로 ...
SELECT DATEPART(yy, GETDATE())
2009
SELECT DATEPART(mm, GETDATE())
2
SELECT DATEPART(dd, GETDATE())
17
SELECT DATEPART(hour, GETDATE())
11
SELECT DATEPART(mi, GETDATE())
50
SELECT DATEPART(ss,
GETDATE())
58
SELECT DATEPART(dw, GETDATE())
3
4 . YEAR() , MONTH() , DAY() 함수 ~~ 해당 년,월,일을 각각 반환
형식: YEAR(날짜) , MONTH(날짜) , DAY(날짜)
SELECT YEAR(GETDATE())
2009
SELECT MONTH(GETDATE())
2
SELECT DAY(GETDATE())
17
5 . DATEADD() 함수 ~~ DATEADD함수는 날짜에 지정한 만큼을 ADD
형식: DATEADD(날짜형식, 더할 값, 날짜)
SELECT DATEADD(mm,20,GETDATE())
2010-10-17 11:52:22.920 ~~ 현재날짜에 월에 20을 더한 날짜를 반환
SELECT DATEADD(dd,100,GETDATE())
2009-05-28
11:52:31.653 ~~오늘부터 100일 후의 날짜를 반환
6 . DATEDIFF() 함수 ~~ DATEDIFF함수는 두 날짜사이의 날짜형식에 지정된 부분을 반환
형식: DATEDIFF(날짜형식, 시작 날자, 끝 날짜)
SELECT DATEDIFF(dd,GETDATE(),'3000.1.1') ~~ 현재날짜와 3000.1.1일 일수 반환
361908
SELECT DATEDIFF(MM,GETDATE(),'2010.1.1') ~~ 현재날짜와 2010.1.1일 일수 반환
-11
7 . DATENAME()
함수 ~~ DATENAME함수는 지정한 날짜의 날자형식의 이름으로 반환
형식: DATENAME(날짜형식, 날짜)
SELECT DATENAME(mm,GETDATE())
02
SELECT DATENAME(dd,GETDATE())
17
SELECT DATENAME(dw,GETDATE())
화요일