SQL Server 日期格式转换 yyyy-mm

在数据库管理中,经常会涉及到日期格式的转换,而在 SQL Server 中,日期的格式化和转换是一个非常常见的操作。本文将详细介绍如何在 SQL Server 中将日期格式转换为 yyyy-mm 格式。
日期格式化
在 SQL Server 中,日期数据类型包括 date、datetime、datetime2、smalldatetime 等。对于这些日期数据类型,我们可以通过使用 CONVERT() 函数来将日期格式化为我们需要的格式。
CONVERT() 函数的语法如下:
CONVERT(data_type[(length)], expression, style)
data_type:指定要转换为的数据类型。length:指定结果的长度。expression:指定要转换的字段或者值。style:指定日期格式的样式。
样式表
在 SQL Server 中,日期格式样式是通过一个整数值来表示的,不同的整数值代表不同的日期格式。在我们这里,我们将使用样式表来表示不同的日期格式。
下面是一些常见的样式表值和对应的日期格式:
| 样式表值 | 日期格式 |
|---|---|
| 1 | mm/dd/yy |
| 2 | yy.mm.dd |
| 3 | dd/mm/yy |
| 4 | dd.mm.yy |
| 5 | dd-mm-yy |
| 101 | mm/dd/yyyy |
| 102 | yyyy.mm.dd |
| 103 | dd/mm/yyyy |
| 104 | dd.mm.yyyy |
| 105 | dd-mm-yyyy |
| 111 | yyyy/mm/dd |
| 112 | yyyymmdd |
| 113 | dd mon yyyy |
| 114 | hh:mi:ss |
| 120 | yyyy-mm-dd hh:mi:ss |
| 121 | yyyy-mm-dd hh:mi:ss.m |
在这里,我们将主要关注样式表值为 120 的日期格式 yyyy-mm-dd hh:mi:ss。
实例
为了演示如何在 SQL Server 中将日期格式转换为 yyyy-mm 格式,我们创建一个名为 dates 的表,并插入一些日期数据。然后使用 CONVERT() 函数将日期格式化为 yyyy-mm-dd 的形式。
-- 创建表
CREATE TABLE dates (
id INT PRIMARY KEY,
date_value DATETIME
);
-- 插入数据
INSERT INTO dates VALUES (1, '2021-01-15 10:30:45');
INSERT INTO dates VALUES (2, '2021-02-20 15:20:30');
INSERT INTO dates VALUES (3, '2021-03-25 08:45:10');
-- 查询日期并格式化
SELECT id, CONVERT(VARCHAR, date_value, 120) AS formatted_date
FROM dates;
运行以上 SQL 语句后,我们将得到如下结果:
id | formatted_date
-----|------------------------
1 | 2021-01-15 10:30:45
2 | 2021-02-20 15:20:30
3 | 2021-03-25 08:45:10
从结果可以看出,我们成功将日期格式化成了 yyyy-mm-dd hh:mi:ss 的形式。
总结
在 SQL Server 中,使用 CONVERT() 函数可以方侟地将日期格式化为我们需要的形式。通过了解样式表的对应关系,我们可以快速地将日期转换为不同的格式。
极客教程