MySQL TimeDiff가 있다면, MSSQL에는 DateDiff가 있다. DATEDIFF ( datepart , startdate , enddate ) |
Datepart | Abbreviations |
---|---|
year | yy, yyyy |
quarter | qq, q |
month | mm, m |
dayofyear | dy, y |
day | dd, d |
week | wk, ww |
Hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |
USE AdventureWorks; GO SELECT DATEDIFF(day, OrderDate, GETDATE()) AS NumberOfDays FROM Sales.SalesOrderHeader; GO |
출처 - http://jameroid.tistory.com/entry/MSSQL-%EC%8B%9C%EA%B0%84-%EB%B9%84%EA%B5%90-%EC%B4%88%EC%8B%9C%EA%B0%84-%EC%9D%BC%EC%9E%90-%EB%B6%84%EB%8B%A8%EC%9C%84
안녕하세요?
프쟁이 입니다.
datediff 함수는 두개의 날짜값(datetime 형식의 데이터)의 차이나는 날짜를 반환하는 mssql 내장함수입니다.
mssql 에서 getdate() 함수는 현재 시간을 datetime 형식으로 반환하는 함수입니다.
사용하는 형식은 datediff( 시간단위구분자, 시작시간, 종료시간 ) 이렇게 사용하시면 됩니다.
getdate()+1 은 현재시간에서 1일을 더하는 함수입니다.
현재 시간이 2012-01-13 11:50:11 이면, getdate()+1 은 2012-01-14 11:50:11 이 됩니다.
그럼 이제 datediff 함수를 이용하여, 현재시간과(getdate()), 하루이후 시간(getdate()+1) 사이의 시간값을
다음과 같이 구해보도록 하겠습니다.
각 단위별로 차이값을 구하고 있습니다.
각각 분단위, 초단위, 시간단위, 일단위, 월단위, 년단위로 구하고 있습니다.
select DATEDIFF ( mi , getdate() , getdate()+1 ) ==> 1440 분 (1일)
select DATEDIFF ( s , getdate() , getdate()+1 ) ==> 86400 초 (1일)
select DATEDIFF ( hour , getdate() , getdate()+1 ) ==> 24 시간 (1일)
select DATEDIFF ( day , getdate() , getdate()+1 ) ==> 1 일 (1일)
select DATEDIFF ( month , getdate() , getdate()+31 ) ==> 1 개월 (31일)
select DATEDIFF ( year , getdate() , getdate()+730 ) ==> 2 년 (730일)
그럼 모두들 즐프하세요 ^
출처 - http://pgm-progger.blogspot.kr/2012/01/mssql-datediff.html
'DB > SQL Server' 카테고리의 다른 글
mssql - dbo 의미 (0) | 2012.12.07 |
---|---|
mssql - go 의미 (0) | 2012.12.07 |
MS SQL auto_increment (0) | 2012.12.07 |
MySQL과 MS-SQL Server 2000 자료형 비교 (0) | 2012.12.07 |
MSSQL jdbc - sqljdbc.jar와 sqljdbc4.jar 차이 (0) | 2012.12.06 |