MS SQL - 日期應用
參考資料:
sql 時間轉換格式convert(varchar(10),字段名,轉換格式)
SQL:Getdate+日期格式
每日一SQL-善用DATEADD和DATEDIFF
◎ 時間轉換格式
CONVERT ( 資料型別 [(長度)] , expression內容 [, 樣式代碼])
簡介 :
convent為日期轉換函數,一般就是在時間類型(datetime, smalldatetime)與字符串類型(nchar, nvarchar, char, varchar)
俺〞 常用格式 ↓↓↓↓
8 | 108 | hh:mm:ss
12 | 112 | yymmdd
14 | 114 | hh:mi:ss:mmm(24小時制)
15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小時制)
16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小時制)
-- #時間(8, 24, 108) -- 10:25:35 SELECT CONVERT(varchar,getdate(),24) -- #日期 + 時間 (15, 20, 120) -- 2013-09-09 10:25:35 SELECT CONVERT(varchar,getdate(),20) -- #日期 -- 2013.09.09 SELECT CONVERT(varchar,getdate(),102) -- 2013/09/09 SELECT CONVERT(varchar,getdate(),111) -- 20130909 SELECT CONVERT(varchar,getdate(),112) -- ※補:若要取代日期內的格式 -- 2013*09*09 SELECT REPLACE(CONVERT(VARCHAR(10),getdate(),111),'/','*')
◎ DATEADD
簡介 :
DATEADD是計算某日期加上一個數值,傳回的日期
DATEADD (datepart , number , date )
datepart一樣是單位,number是指定的數值,date是要被加上的原始日期
-- 取得日期的月份 + 2 SELECT DATEADD(MONTH, 2, getdate())
◎ DATEDIFF
簡介 :
DATEDIFF是算兩個日期間的間隔,傳回帶正負號的整數
DATEDIFF ( datepart , startdate , enddate ) datepart為間隔的單位
-- 出來的結果就是 1,代表相隔一天。 SELECT DATEDIFF(DAY, '2013-09-28','2013-09-29')
-- 延伸應用 --
-- 取得月份的第一天
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
-- 取得月份的最後一天
SELECT DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()), -1)
※ 註 : 當季 - Quarter, 月 - Month , 天 - Day
卒仔〞筆記 : 筆記 筆記!!!!
沒有留言:
張貼留言