SQL Server获取系统时间及格式化处理方法
在SQL Server数据库开发中,获取并格式化当前系统时间是高频需求。本文介绍核心函数GETDATE()与CONVERT()的配合用法,详解不同样式代码对应的日期输出格式,助您高效处理时间数据。
获取当前系统时间基础
在SQL Server中,获取当前服务器系统的日期和时间最直接的函数是 GETDATE()。该函数返回一个 datetime 类型的数据,包含日期和具体时间。
例如,执行以下语句可直观查看默认格式:
Select GETDATE();
输出结果通常类似于:2024-05-20 14:30:00.000(具体显示取决于客户端工具设置)。
利用CONVERT进行日期格式化
当我们需要将日期转换为特定的字符串格式时,应使用 CONVERT 函数。其基本语法为:CONVERT(varchar(长度), 日期字段, 样式代码)。
常用短日期与时间格式
- 仅日期(年.月.日):使用样式码
2。Select CONVERT(varchar(100), GETDATE(), 2);
结果示例:24.05.20 - 美国格式(月/日/年):使用样式码
1。Select CONVERT(varchar(100), GETDATE(), 1);
结果示例:05/20/24 - 欧洲格式(日/月/年):使用样式码
3。Select CONVERT(varchar(100), GETDATE(), 3);
结果示例:20/05/24 - 24小时制时间:使用样式码
8。Select CONVERT(varchar(100), GETDATE(), 8);
结果示例:14:30:00
完整日期时间格式
- 标准长日期时间:使用样式码
20。Select CONVERT(varchar(100), GETDATE(), 20);
结果示例:2024-05-20 14:30:00 - 带毫秒的ISO格式:使用样式码
21。Select CONVERT(varchar(100), GETDATE(), 21);
结果示例:2024-05-20 14:30:00.123 - AM/PM 格式:使用样式码
0或9。Select CONVERT(varchar(100), GETDATE(), 0);
结果示例:May 20 2024 2:30PM
其他特定区域风格
SQL Server支持多种国际标准及特殊文化格式的转换,以下是部分常用代码对照:
- 日本日历/泰历风格:样式码
111常用于日本顺序(年/月/日)。Select CONVERT(varchar(100), GETDATE(), 111);
结果示例:2024/05/20 - 紧凑型日期(无分隔符):样式码
112,常用于文件命名或存储。Select CONVERT(varchar(100), GETDATE(), 112);
结果示例:20240520 - ISO 8601 格式:样式码
126,推荐用于XML或JSON数据传输。Select CONVERT(varchar(100), GETDATE(), 126);
结果示例:2024-05-20T14:30:00.123
完整样式代码速查表
下表列出了 CONVERT 函数中常用的日期/时间样式代码及其预期输出效果(假设当前时间为 2024-05-20 14:30:00):
| 样式代码 (Style) | 输出格式说明 | 示例结果 |
|---|---|---|
0, 9, 13, 109, 113, 121, 130, 131 |
包含时间的详细格式(精度各异,含毫秒或阿拉伯历法) | 05 20 2024 2:30:00:000PM / 2024-05-20 14:30:00.123 |
1 ~ 11 |
短日期格式(美式或欧式) | 05/20/24 / 20/05/24 / 24.05.20 |
20, 21, 22, 23, 24, 25 |
ODBC规范格式及变体 | 2024-05-20 14:30:00 / 14:30:00 |
100 ~ 110 |
四位年份的短日期与时分组合 | May 20 2024 / 05-20-2024 |
111, 112 |
日式年/月/日 或 紧凑数字 | 2024/05/20 / 20240520 |
120, 121 |
ODBC Canonical 格式(带秒) | 2024-05-20 14:30:00 / ... .123 |
126 |
ISO 8601 格式 | 2024-05-20T14:30:00.123 |
掌握这些样式代码,即可灵活应对各类报表展示、日志记录及数据交互场景中的时间格式化需求。
以上就是SQL Server获取系统时间及格式化处理的详细内容,更多关于SQL Server日期函数应用的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













