MySQL TimeDiff가 있다면, MSSQL에는 DateDiff가 있다.
DATEDIFF ( datepart , startdate , enddate )
DatepartAbbreviations

year

yyyyyy

quarter

qqq

month

mmm

dayofyear

dyy

day

ddd

week

wkww

Hour

hh

minute

min

second

sss

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
Posted by linuxism
,