SQL SERVER

日期时间相关函数

日期字段获取年、月、日的三种方式

一、

年:year(日期字段)
月:month(日期字段)
日:day(日期字段)

二、

年:DATEPART(year, 日期字段)  / DATENAME(year, 日期字段)
月:DATEPART(month, 日期字段) / DATENAME(year, 日期字段)
日:DATEPART(day, 日期字段)   / DATENAME(year, 日期字段)

DATEPART(datepart,date)与DATENAME(datepart,date)函数的区别:

Datepart():返回代表指定日期的指定日期部分的整数

语法:Datepart(datepart,date) 返回类型:int

DateName():返回代表指定日期的指定日期部分的字符串

语法:DateName(datepart,date) 返回类型:nvarchar

三、

--字符串截取  返回 2023-08
SUBSTRING(expression, start, length)
例子:SUBSTRING(日期字段, 1, 7)

PS:第一种和第二种方式获取月和日返回的是8、9、10这种格式,个位数时不会补零。

获取当前日期函数

一、

--getdate()函数返回的格式是2023-08-17 22:08:28.450
select getdate()
--获取当前年月日   2023-08-17
select convert(varchar,getdate(),23)
select cast(getdate() as date)
--获取当前年月     2023-08
select convert(char(7),getdate(),20)
--获取当前年月日时分秒  2023-08-17 22:07:35
select CONVERT(varchar,getdate(),120)
--获取当前年、月、日
select datepart(year, getdate())  / datename(year, getdate())
select datepart(month, getdate()) / datename(month, getdate())
select datepart(day, getdate())   / datename(day, getdate())
根据日期判断季度
--根据日期判断季度 参数类型必须是yyyy-mm-dd   返回结果1、2、3、4
select  DATENAME(QUARTER,'2021-04-14')
两个日期判断差值
--年、月、日差值
select datediff(year,'2004-09-01','2004-09-18')
select datediff(month,'2004-09-01','2004-09-18')
select datediff(day,'2004-09-01','2004-09-18')
一个日期相加或者相减一定天数获得新的日期
--与datepart用法一致  number 为整数表示往后加几天,负数表示往前减几天
DATEADD(year, number, date)
DATEADD(month, number, date)
DATEADD(day, number, date)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只神奇的大元

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值