您的位置:首页 > 数据库

SQL日期操作及只获取日期的方法

2014-10-23 15:48 190 查看
datepart()函数的使用
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)) --得到上主、季度第一天

用SQL只获取日期的方法

用getdate()方法可以获取当现的日期加上时间。
但是如果我们只需要得到当前的日期,不需要时间部分,或者不需要日期只要时间部分,再或者我要只要字段中的日期以某种形式显示,应该怎么操作呢?
可以使用
convert(varchar(10),getdate(),120)
这样的方法来实现,其中varchar(10)定义的是你要的字段的长度,当然长度的不同返回的也会不的,如果我们只要日期部分,设成10正好为日期长度,如果设成19则正好可以读到时间部分。
现在介绍最后面代的参数,分别以代的参数及实例效果说明

参数结果
10005 8 2006 9:27PM
10105/08/2006
1022006.05.08
10308/05/2006
10408.05.2006
10508-05-2006
10608 05 2006
10705 08, 2006
10821:30:51
10905 8 2006 9:31:11
11005-08-2006
1112006/05/08
11220060508
11308 05 2006 21:31:59
11421:33:06:503
1202006-05-08 21:33:38
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: