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代码。希望本文的内容能够对读者有所帮助,欢迎大家在评论区分享自己的经验和见解。
热门推荐
扩招难掩竞争激化:考研市场的内卷困局
圣女贞德的故事
新手爸妈必读:新生儿臀红/尿布疹的全面解析与护理指南
普通股与优先股:两种股票权利的对比分析
从药学生到票房之王:饺子的动画逐梦之路
债权人撤销权的适用条件与法律意义
如何分析主要黄金交易市场的特点?这些市场的优势在哪里?
合约交易入门:风险控制与策略效果全解析
2024年山东高考生物试卷分析
修养与涵养的区别
实习实践如何提升大学生的职业竞争力和职业素质
如何计算和比较不同理财产品的收益?这些比较方法的准确性如何?
温暖你的心:这些治愈故事会让你感动流泪!
专家解读孕期黄褐斑产生的原因及预防措施
搞不清波斯猫和山东狮子猫?掌握以下三点就可以啦!
欧国联B组战火重燃:四场对决,数据揭秘比赛看点!
花茶功效与配搭指南:7种花草茶的养生妙用
如何评价岳飞的历史地位?
您能携带食物通过机场安检吗?
独步心安:认知提升与孤独的深度对话
五行学说中的土型人:特征与养生指南
看来看去,感觉还是瓷砖耐用,好打理
2024年起,只缴社保,不缴公积金,违法!
小学生如何理解人工智能
揭秘40日收益差:如何优化红利投资策略
数据库SQL查询总人数的方法与优化技巧
麻核桃品种详细介绍
中国古典文化:字面与象征的阴阳哲学!
镬耳屋:解锁岭南传统民居的“耳朵”哲学
哪些气味会引起孕妇的不适反应?