选择昨天:
DECLARE @Yesterday date
SET @Yesterday = DATEADD(DAY,-1,GETDATE())
输出:
2020-05-02
把date转成数字:
-- 获取时间
SET @Yesterday = DATEADD(DAY,-1,GETDATE())
SET @DateID = CAST(CAST(@Yesterday AS FLOAT) AS INT)
datepart函数:
Datepart():返回代表指定日期的指定日期部分的整数
语法:Datepart(datepart,date) 返回类型:int
SELECT DATEPART(yyyy,create_at) AS OrderYear,
DATEPART(mm,create_at) AS OrderMonth,
DATEPART(dd,create_at) AS OrderDay
FROM xxx
WHERE id=10
SQL server从datetime提取年月日
需要用到convert函数:
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
我们只想要提取yyyy--mm-dd,用:
select convert(varchar(10),create_at,120) from xxx where id=10 (长度为10截取前10位)
想要带上时分秒:
select convert(varchar,create_at,120) from xxx where id=10
2020-04-29 16:46:43
只想要年月:
--按月
select convert(nvarchar(7),GETDATE(),120)
2020-04