1、sqlserver获取当前月份
select datepart(mm,getdate())
DATEPART()函数返回日期的指定部分。
此函数以整数值返回结果。
DATEPART(interval, date)
Parameter | Description |
---|---|
interval | Required. The part to return. Can be one of the following values:
|
date | Required. 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)