sqlserver使用depart获取当前日期月份及通过拼接得到日期时间

1、sqlserver获取当前月份

select datepart(mm,getdate())

   DATEPART()函数返回日期的指定部分。

   此函数以整数值返回结果。

   DATEPART(intervaldate)

ParameterDescription
intervalRequired. The part to return. Can be one of the following values:
  • year, yyyy, yy = Year
  • quarter, qq, q = Quarter
  • month, mm, m = month
  • dayofyear, dy, y = Day of the year
  • day, dd, d = Day of the month
  • week, ww, wk = Week
  • weekday, dw, w = Weekday
  • hour, hh = hour
  • minute, mi, n = Minute
  • second, ss, s = Second
  • millisecond, ms = Millisecond
dateRequired. The date to use

注:https://www.w3schools.com/sql/func_sqlserver_datepart.asp

2、sqlserver获取当前月份的名字

select datename(mm,getdate())                  
--以字符串而不是数字的形式得到今天的月份(07)

注:https://www.cnblogs.com/qiangshu/p/4873392.html

3、获取当前年月日

select CONVERT(varchar(10),GETDATE(),120) --2018-04-23

select CONVERT(varchar(10), dateadd(dd,-1,getdate()),120) --前一天

注:https://www.cnblogs.com/Scholars/p/8919094.html

4、在当前日期上加两个月

select DATEADD(mm,2,'2014-12-30')    结果:2015-02-28 
select DATEADD(MONTH,2,'2014-12-30')  结果:2015-02-28 

select dateadd(mm,-1,getdate())

注:https://www.cnblogs.com/xyao1/p/9322168.html

5、获取当月的第一天

SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)

注:https://www.cnblogs.com/lcyuhe/p/5613632.html

6、获取上月第几天

eg

select CONVERT(varchar(10),DATEADD(day,20,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-2,0)),120); -- 2020-02-21
select CONVERT(varchar(10),DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-1,0)),120);  -- 2020-02-29

select   CONVERT(varchar(10),DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-1,0),120); -- 2020-03-01
select CONVERT(varchar(10),dateadd(mm,-1,DATEADD(day,19,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0))),120); -- 2020-03-20

select CONVERT(varchar(10),DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-1,0),120); -- 2020-03-01
select CONVERT(varchar(10),dateadd(mm,-1,DATEADD(day,19,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0))),120); -- 2020-03-20

select CONVERT(varchar(10),DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-1,0),120); -- 2020-03-01
select CONVERT(varchar(10),DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)),120); -- 2020-03-31

-- 当前4月1日

7、查询当月的数据

where DATEDIFF(mm,bbb.createdate+' '+bbb.createtime,getDate())=0

注:https://www.w3school.com.cn/sql/func_datediff.asp

8、取当前年 (年初 1月1号) 当前月 (月初 1号) 当前日 (零点)

SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) -- 当前年 1月1号
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) -- 当前月 1号
SELECT DATEADD(dd,DATEDIFF(dd,0,getdate()),0) -- 当前日 零点

注:https://www.cnblogs.com/shamo89/p/9489603.html

9、去年第一天

select CONVERT(varchar(10),DATEADD(yy,DATEDIFF(yy,0,DATEADD(yy,-1,'2021-01-02')),0),120)

10、获取当前日期时间

select CONVERT(varchar,GETDATE(),120)

https://www.cnblogs.com/Scholars/p/8919094.html

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值