mysql查询整点日期格式_sql server 如何将日期时间字段修改成最接近该时间的整点时间?...

本文介绍了如何使用SQL DATEADD和DATENAME函数在SQL Server中获取当前时间的整点,并结合YEAR、MONTH、DAY和HOUR字段,通过CAST函数将其转换为datetime格式。具体步骤包括计算30分钟后的时间并展示完整代码示例。
摘要由CSDN通过智能技术生成

*以下语句中的时间字段以“date_test”为例

1、获取“最近”的整点:

使用DATEADD(datepart,number,date)函数(结尾有详细语法说明)来获取一个时间30分钟后的时间DATEADD(mi,30,date_test)

列值为2017-01-01 01:20:00,返回2017-01-01 01:50:00,即整点1点

列值为2017-01-01 01:40:00,返回2017-01-01 02:10:00,即整点2点

2、根据方法1获取的时间,使用DATENAME函数分别取出年份、月份、小时,比如年份DATENAME(YEAR,DATEADD(mi,30,date_test))

3、根据方法2获取的年份、月份、小时,使用’-‘符连接成时间,用 CAST(char as datetime)函数转成时间数据类型

完整代码(代码中以系统当前时间(getdate())为参考时间):select CAST(DATENAME(YEAR,DATEADD(mi,30,getdate()))+'-'+DATENAME(MONTH,DATEADD(mi,30,getdate()))+'-'+DATENAME(DAY,DATEADD(mi,30,getdate()))+' '+DATENAME(HOUR,DATEADD(mi,30,getdate()))+':00:00'  AS DATETIME)

DATEADD的语法:--DATEADD(datepart,number,date)——在日期上增加给定日期类型的数量;

select dateadd(yyyy,4,cl_s_time) as '增加4年后' from class         --datepart - 年份

yy、yyyy

select dateadd(q,2,cl_s_time) as '增加2季度后' from class

--datepart - 季度

qq、q

select dateadd(mm,3,cl_s_time) as '增加3月度后' from class

--datepart - 月份

mm、m

--datepart - 每年的某一日

dy、y

--datepart - 日期

dd、d

--datepart - 星期

wk、ww

--datepart - 小时

hh

--datepart - 分钟

mi、n

--datepart - 秒

ss、s

--datepart - 毫秒

ms

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值