SQL Server获取当前时间并转换为多种标准格式

南乔
南乔
发布时间:2026-10-14| 5人浏览过
原创

本文详细列出SQL Server中使用CONVERT函数配合不同样式代码获取GETDATE()时间的结果对照表,包含美国式、欧洲式、ISO8601及自定义格式,解决时间格式化查询需求。

核心逻辑与准备

在 SQL Server (T-SQL) 中,获取系统当前时间与日期通常使用内置函数 GETDATE()。该函数返回一个 datetime 类型的数据。 要将这个标准的 DateTime 对象转换为符合人类阅读习惯或特定业务需求的字符串格式,最常用的方法是使用 CONVERT 或 CAST 函数。其中 CONVERT(varchar(100), GETDATE(), style_code) 是最灵活的方式,第三个参数 style_code(整数)决定了输出的具体样式。

注意: 虽然 varchar(100) 足以容纳绝大多数格式,但在实际开发中建议根据目标格式的实际长度(如固定长度的 'yyyy-MM-dd' 可用 varchar(10))以优化存储和传输。

第1步:常用基础日期与时间格式

以下是处理最广泛使用的几种时间显示格式的查询代码与对应结果示例:

-- 美国格式: MM/DD/YY (例如 05/16/06)
Select CONVERT(varchar(100), GETDATE(), 1);

-- 欧盟格式(带点): YY.MM.DD (例如 06.05.16)
Select CONVERT(varchar(100), GETDATE(), 2);

-- 欧盟格式(带斜杠): DD/MM/YY (例如 16/05/06)
Select CONVERT(varchar(100), GETDATE(), 3);

-- 仅显示时间 HH:MI:SS (例如 10:57:46)
Select CONVERT(varchar(100), GETDATE(), 8);

-- 国际标准化格式: YYYY-MM-DD HH:MI:SS (例如 2006-05-16 10:57:47)
Select CONVERT(varchar(100), GETDATE(), 20); -- 或 120

第2步:完整年份与精确到毫秒的格式

在处理日志记录、数据归档或需要明确区分世纪时,四位数的年份和更精细的时间精度显得尤为重要:

-- 完整年月日 (YYYY-MM-DD)
Select CONVERT(varchar(100), GETDATE(), 23); 
-- 结果类似: 2006-05-16

-- ISO 8601 格式: YYYYMMDD (适合排序)
Select CONVERT(varchar(100), GETDATE(), 112); 
-- 结果类似: 20060516

-- 带有毫秒的标准时间戳 (YYYY-MM-DD HH:MI:SS.MMMM)
Select CONVERT(varchar(100), GETDATE(), 21);
-- 结果类似: 2006-05-16 10:57:47.157

第3步:美式与其他特定区域格式

针对特定地区习惯或数据库兼容性问题,可能需要特定的分隔符或顺序:

-- 美式长格式: MM/DD/YYYY (例如 05/16/2006)
Select CONVERT(varchar(100), GETDATE(), 101); 

-- 带有 AM/PM 标识的美式格式
Select CONVERT(varchar(100), GETDATE(), 9); 
-- 结果类似: 05 16 2006 10:57:46:827AM

-- 纯时间部分 HH:MI:SS (24小时制)
Select CONVERT(varchar(100), GETDATE(), 24); 

其他特殊格式参考

以下代码列出了更多不常用的格式,包括日本 imperial calendar、阿拉伯历以及一些不带分隔符的紧凑格式。在实际应用中请根据需要选取:

  • Style 126: 典型的 XML 日期格式 (2006-05-16T10:57:49.827)。
  • Style 130/131: 阿拉伯/伊斯兰日历相关格式。
  • Style 102: 欧洲标准年/月/日带点分隔 (2006.05.16)。
  • Style 111: 日本标准年/月/日 (2006/05/16)。

通过改变 CONVERT 函数的第三个参数,您可以灵活适配任何业务场景下的时间展示需求。对于程序端二次处理,推荐优先使用 Style 120/121 (标准通用) 或 Style 126 (JSON/XML友好)。

以上就是SQL Server获取各种形式的时间的详细内容,更多关于SQL Server时间格式化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。