SQL sever日期问题汇总

--日期相减
select datediff(year, 开始日期,结束日期);     --两日期间隔年 
select datediff(quarter, 开始日期,结束日期); --两日期间隔季 
select datediff(month, 开始日期,结束日期); --两日期间隔月 
select datediff(day, 开始日期,结束日期); --两日期间隔天 
select datediff(week, 开始日期,结束日期); --两日期间隔周 
select datediff(hour, 开始日期,结束日期); --两日期间隔小时 
select datediff(minute, 开始日期,结束日期); --两日期间隔分 
select datediff(second, 开始日期,结束日期); --两日期间隔秒

--时间问题
SELECT CONVERT(CHAR(10),GETDATE(),120)

SELECT CONVERT(CHAR(10),GETDATE(),110)

SELECT CONVERT(CHAR(10),GETDATE(),120)   --显示为10位

SELECT CONVERT(CHAR(7),GETDATE(),120)    --显示为7位

SELECT CONVERT(CHAR(4),GETDATE(),120)  --显示为4

SELECT GETDATE()

select dateadd(day,3,GETDATE()) AS 加三天  --当前加上3天

select dateadd(day,-3,GETDATE()) AS  减三天 --当前减去3天

SELECT  DATEDIFF(mm,0,dateadd(mm,-1,getdate())) -DATEDIFF(mm,0,dateadd(mm,-1,'2013-11-01'))  AS 前后相差多少个月

SELECT  DATEDIFF(dd,0,dateadd(mm,-1,getdate())) -DATEDIFF(dd,0,dateadd(mm,-1,'2013-11-01'))  AS 前后相差多少天

select datediff(day,'2013-12-01',GETDATE())  AS 前后相差天数 --当前日期减去指定日期获取天数

SELECT DATEDIFF(hour,'2013-12-01',GETDATE()) AS  前后相差多少小时

SELECT DateDiff(second,'2013-12-01',GETDATE()) AS 前后相差多少秒

SELECT DATEPART(month,GETDATE())  AS 当月月份  --通过当前日期获取当前月份

SELECT datename(weekday,GETDATE()) AS 今天是星期几  --通过当前日期获取星期数

SELECT datename(week,GETDATE())  AS 今天是全年的第几周  --通过当前日期得到今天是全年的第几周

SELECT DatePart(weekday,GETDATE()) AS 数字  --星期五为6,星期六为7,星期天为1,星期一为2

SELECT DatePart(day,GETDATE())  AS 今天是几号 --获取今天是几号

SELECT DatePart(year,GETDATE()) AS 今年  --获取当年

SELECT DatePart(y,GETDATE()) AS 今天是当年的第几天

SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) AS 当月的第一天

SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))  AS 当月的最后一天

select DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0) AS 当月的第一个星期一

SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)  AS 本周的星期一

SELECT dateadd(wk,datediff(wk,0,getdate()),6)  AS 本周的星期日

SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)  AS 当年的第一天

SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))  AS 当年的最后一天

SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)  AS 季度的第一天

SELECT DATEADD(dd,DATEDIFF(dd,0,getdate()),0)  AS 当天的零点

SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))  AS 上个月的最后一天

SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))   AS 去年的最后一天

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值