今天第一次接觸到Datediff 以前都是把資料拉回來
用DateTime 在程式做處理,實在沒用過在SQL 用Datediff 函式處理
這邊簡單的介紹一下Datediff 使用方式
一樣不囉嗦,直接看Code囉
DATEDIFF ( datepart , startdate , enddate )
datepart : 型式
startdate:起始日期 //被減的
enddate:結束日期
今天我有一個 員工表 我先select出員編為1的員工生日
select EmployeeID,BirthDate
from HR.Employees
where EmployeeID=1
我先用1959年以年去作範例給大家看
select EmployeeID,Datediff(YYYY,BirthDate,'1959-12-08 00:00:00.000')
from HR.Employees
where EmployeeID=1
可以看到它變成1了
帶這邊其實是只拿年去減
我們再以下方程式作為例子
SELECT DATEDIFF(YYYY, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
你覺得這減下來會是甚麼?
沒錯實際上是差一天,但其實你如果是用年就會是以年去減喔。
這邊如果是要做那種算年紀,用GetDate() //順帶一提這是微軟提供的 可以得到現在時間的函式
去減生日資料的,如果是要算出虛歲實歲,就要想一想不能直接減喔
------------------------------------------
在這提供datepart 的所有格式
datepart |
縮寫 |
---|---|
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 |
microsecond |
mcs |
nanosecond |
ns |