SQL常用日期处理函数(转)
/**datepart()函數的使用??????????????????????????
*?datepart()函數可以方便的取到時期中的各個部分
*如日期:2006-07--02?18:15:36.513
*?yy:取年???????????2006
*?mm:取月???????????7
*?dd:取月中的天?????2
*?dy:取年中的天?????183
*?wk:取年中的周?????27
*?dw:取周中的天?????1
*?qq:取年中的季度???3
*?hh:取小時????????18
*?mi:取分鐘????????15
*?ss:取秒??????????36
*?以下簡單的語句可以演示所取到的結果
*/
select?getdate()
select?datepart(mm,getdate())
select?datepart(yy,getDate())
select?datepart(dd,getdate())
select?datepart(dy,getdate())
select?datepart(wk,getdate())
select?datepart(dw,getdate())
select?datepart(qq,getdate())
select?datepart(hh,getdate())
select?datepart(mi,getdate())
select?datepart(ss,getdate())
select?datediff(dd,getdate(),'12/25/2006')--計算從今天到12/25/2006還有多少天
select?datediff(mm,getdate(),'12/25/2006')--計算從今天到12/25/2006還有多少個月
select?datename(mm,getdate())?????????????--以字符串而不是數字的形式得到今天的月份(07)
?
select?dateadd(dd,30,getdate())???????????--在目前的日期日期上加30天
select?dateadd(mm,3,getdate())????????????--在目前的日期日期上加3個月
select?dateadd(yy,1,getdate())????????????--在目前的日期日期上加1年
select?DATEADD(qq,DATEDIFF(qq,0,getdate()),?0)--得到本季度第一天
select?dateadd(mm,-3,DATEADD(qq,??DATEDIFF(qq,0,getdate()),??0))?--得到上主、季度第一天
select?convert(varchar(10),getdate(),120)--結果2007-05-26?
/**//*
說明?varchar(10)為截取長度為10個字符
getdate()是需要處理的日期,也可以直接給日期字符串
如:2007-05-26?10:00:28.420
120:為getdate()的格式具體可參看以下列表
?參數?結果??
?100??05??8?2006??9:27PM?
?101??05/08/2006?
?102??2006.05.08?
?103??08/05/2006?
?104??08.05.2006?
?105??08-05-2006?
?106??08?05?2006?
?107??05?08,?2006?
?108??21:30:51?
?109??05??8?2006??9:31:11?
?110??05-08-2006?
?111??2006/05/08?
?112??20060508?
?113??08?05?2006?21:31:59?
?114??21:33:06:503?
?120??2006-05-08?21:33:38?
*/
?
原文:http://www.cnblogs.com/eflylab/archive/2007/05/26/760776.html
轉載于:https://www.cnblogs.com/pfs1314/archive/2010/08/27/1810006.html
總結
以上是生活随笔為你收集整理的SQL常用日期处理函数(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡如何办理丟失能补办吗 财富值
- 下一篇: hdr链接器和vga链接器区别?