SQL Server中实现时间转换的3种方法总结
创作时间:
作者:
@小白创作中心
SQL Server中实现时间转换的3种方法总结
引用
1
来源
1.
https://www.zhanid.com/biancheng/2862.html
在数据库操作中,时间转换是一个常见的需求。无论是将字符串转换为日期时间格式,还是将日期时间格式转换为字符串,都需要灵活运用各种时间转换函数。SQL Server作为一款功能强大的关系型数据库管理系统,提供了多种时间转换的方法。本文将详细介绍SQL Server中实现时间转换的三种常用方法,帮助读者更好地掌握这一技能。
第一种:FORMAT
FORMAT函数可以将日期时间格式化为指定的字符串格式。以下是一些常用的示例:
-- 转化成年月日
select format( GETDATE(),'yyyy-MM-dd')
-- 转化年月日,时分秒,这里的HH指24小时的,hh是12小时的
select format( GETDATE(),'yyyy-MM-dd HH:mm:ss')
-- 转化成时分秒的,这里就不一样的,需要反斜杠来转化,所以要记一下
select format(GETDATE(),'HH\\:mm\\:ss')
第二种:CONVERT
CONVERT函数可以将日期时间转换为指定格式的字符串。它支持多种预定义的格式代码,以下是一些示例:
SELECT CONVERT(varchar(100), GETDATE(), 0) -- 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1) -- 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2) -- 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3) -- 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4) -- 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5) -- 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6) -- 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7) -- 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8) -- 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9) -- 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10) -- 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11) -- 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12) -- 060516
SELECT CONVERT(varchar(100), GETDATE(), 13) -- 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14) -- 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20) -- 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21) -- 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22) -- 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23) -- 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24) -- 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25) -- 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100) -- 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101) -- 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102) -- 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103) -- 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104) -- 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105) -- 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106) -- 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107) -- 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108) -- 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109) -- 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110) -- 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111) -- 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112) -- 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113) -- 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114) -- 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120) -- 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121) -- 2006
第三种:DATEADD()
DATEADD函数用于在指定的日期时间上增加或减少指定的时间间隔。其语法如下:
DATEADD(datepart, number, date)
参数说明:
- date 参数是合法的日期表达式,类型可以是datetime、smalldatetime、char。
- number 是您希望添加的间隔数,最好是整数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
- datepart 参数可以是下面表格的值。
datepart | 值 |
|---|---|
年份(year) | yy , yyyy , year |
季度(quarter) | qq , q , quarter |
月份(month) | mm , m , month |
年中的日(day of year) | dy, y |
日(day) | dd , d , day |
周(week) | wk , ww , week |
星期(weekday) | dw, w |
小时(hour) | hh , hour |
分钟(minute) | mi , n , minute |
秒(second) | ss , s , second |
毫秒(millisecond | ms |
微秒(microsecond) | mcs |
纳秒(nanosecond) | ns |
以下是DATEADD函数的具体使用示例:
实现秒加减
-- 减100秒
SELECT DATEADD(ss, -100, '2024-07-03')
SELECT DATEADD(s, -100, '2024-07-03')
SELECT DATEADD(second, -100, '2024-07-03')
-- 加100秒
SELECT DATEADD(ss, 100, '2024-07-03')
SELECT DATEADD(s, 100, '2024-07-03')
SELECT DATEADD(second, 100, '2024-07-03')
实现分钟加减
-- 减1分钟
SELECT DATEADD(mi, -1, '2024-07-03')
SELECT DATEADD(n, -1, '2024-07-03')
SELECT DATEADD(minute, -1, '2024-07-03')
-- 加1分钟
SELECT DATEADD(mi, 1, '2024-07-03')
SELECT DATEADD(n, 1, '2024-07-03')
SELECT DATEADD(minute, 1, '2024-07-03')
实现小时加减
-- 减1小时
SELECT DATEADD(hh, -1, '2024-07-03')
SELECT DATEADD(hour, -1, '2024-07-03')
-- 加1小时
SELECT DATEADD(hh, 1, '2024-07-03')
SELECT DATEADD(hour, 1, '2024-07-03')
实现日加减
-- 减1天
SELECT DATEADD(dd, -1, '2024-07-03')
SELECT DATEADD(d, -1, '2024-07-03')
SELECT DATEADD(day, -1, '2024-07-03')
-- 加1天
SELECT DATEADD(dd, 1, '2024-07-03')
SELECT DATEADD(d, 1, '2024-07-03')
SELECT DATEADD(day, 1, '2024-07-03')
实现周加减
-- 减1周
SELECT DATEADD(ww, -1, '2024-07-03')
SELECT DATEADD(wk, -1, '2024-07-03')
SELECT DATEADD(week, -1, '2024-07-03')
-- 加1周
SELECT DATEADD(ww, 1, '2024-07-03')
SELECT DATEADD(ww, 1, '2024-07-03')
SELECT DATEADD(ww, 1, '2024-07-03')
实现月份加减
-- 减1月
SELECT DATEADD(m, -1, '2024-07-03')
SELECT DATEADD(mm, -1, '2024-07-03')
SELECT DATEADD(month, -1, '2024-07-03')
-- 加1月
SELECT DATEADD(m, 1, '2024-07-03')
SELECT DATEADD(mm, 1, '2024-07-03')
SELECT DATEADD(month, 1, '2024-07-03')
实现季度加减
-- 减1季度
SELECT DATEADD(q, -1, '2024-07-03')
SELECT DATEADD(qq, -1, '2024-07-03')
SELECT DATEADD(quarter, -1, '2024-07-03')
-- 加1季度
SELECT DATEADD(q, 1, '2024-07-03')
SELECT DATEADD(qq, 1, '2024-07-03')
SELECT DATEADD(quarter, 1, '2024-07-03')
实现年份加减
-- 减1年
SELECT DATEADD(yy, -1, '2024-07-03')
SELECT DATEADD(yyyy, -1, '2024-07-03')
SELECT DATEADD(year, -1, '2024-07-03')
-- 加1年
SELECT DATEADD(yy, 1, '2024-07-03')
SELECT DATEADD(yyyy, 1, '2024-07-03')
SELECT DATEADD(year, 1, '2024-07-03')
总结
通过本文的介绍,我们可以看到SQL Server中实现时间转换的三种常用方法:CONVERT函数、DATEADD函数和FORMAT函数。每种方法都有其独特的优点和适用场景。掌握这些时间转换技巧,将有助于我们在实际工作中编写出更加高效和简洁的SQL代码。希望本文的内容能够对读者有所帮助,欢迎大家在评论区分享自己的经验和见解。
热门推荐
公司不安排岗位怎么办?法律维权指南
美公子竟是小舞转世?真相揭秘!
美公子转世,唐三能否守护小舞?
南京一日游:必看景点与地道美食全攻略
南京钟山风景区最新打卡指南
研究称“每周饿两天,能让血糖代谢都变好”?真相是……
春节不打烊:快递小哥们如何坚守岗位
春节快递高峰:6.7亿件包裹背后的坚守
云南瑞丽自驾游完全攻略:路线规划、交通指南与安全准备
ing未来印正式封顶,广州天河将迎新地标
中药敷脸治疗痤疮效果好吗
黄山到长沙高铁购票指南,速戳收藏!
跟着阿兵玩转汕尾到潮州自驾游
汕尾到潮州自驾游攻略:阳光海浴与人文古迹的完美融合
我国丰富的气候资源有哪些 我国气候资源的优势是什么
西双版纳野象谷:亚洲象保护的中国样本
严格饮食与科学运动结合:成功减肥心得分享
如何在饮食中合理搭配食物,达到减肥目的?
新中式养生走红,“流量密码”是什么?
汉代豪车揭秘:车轭的秘密
长沙春节庙会大集合,快来看看怎么玩!
长沙美食打卡攻略:味蕾狂欢不容错过!
春节长沙三日游:庙会灯会嗨翻天
【青年发展友好型城区】冬游崂山,绝美雾凇观赏地图上线!
青岛文化地图|八大关的历史与魅力
圣采儿失忆后的奇幻冒险:龙皓晨的守护与爱情
龙皓晨助力采儿重拾旧梦
西双版纳热带雨林的生态保护秘籍
羊肉食疗,让你告别手脚冰凉❄️
情绪调节:告别“冰手冰脚”的温暖之道