SQL Server函数convert日期时间格式转换
convert()函数
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
参数说明
1.data_type 是目标数据类型,length 是可选项,用于指定目标数据类型的长度。
2.expression 是要转换的表达式。
3.style 是可选的,用于指定日期/时间转换的样式。
cast()函数
CAST ( expression AS data_type [ ( length ) ] )
参数说明
1.expression 是要转换的表达式。
2.data_type 是目标数据类型。
3.length 是可选项,用于指定目标数据类型的长度。
cast()和convert()函数比较
1.cast一般更容易使用,convert的优点是可以格式化日期和数值;
2.convert一般用于日期和时间类型以及小数之间转换,而cast一般用于小数转数值和字符型;
3.convert只是显示转换,而cast是强制转换。
日期类型转换
SELECT CONVERT(VARCHAR(100), GETDATE(), 0); -- 12 18 2023 11:28AM
SELECT CONVERT(VARCHAR(100), GETDATE(), 1); -- 12/18/23
SELECT CONVERT(VARCHAR(100), GETDATE(), 2); -- 23.12.18
SELECT CONVERT(VARCHAR(100), GETDATE(), 3); -- 18/12/23
SELECT CONVERT(VARCHAR(100), GETDATE(), 4); -- 18.12.23
SELECT CONVERT(VARCHAR(100), GETDATE(), 5); -- 18-12-23
SELECT CONVERT(VARCHAR(100), GETDATE(), 6); -- 18 12 23
SELECT CONVERT(VARCHAR(100), GETDATE(), 7); -- 12 18, 23
SELECT CONVERT(VARCHAR(100), GETDATE(), 8); -- 11:29:57
SELECT CONVERT(VARCHAR(100), GETDATE(), 9); -- 12 18 2023 11:30:22:233AM
SELECT CONVERT(VARCHAR(100), GETDATE(), 10); -- 12-18-23
SELECT CONVERT(VARCHAR(100), GETDATE(), 11); -- 23/12/18
SELECT CONVERT(VARCHAR(100), GETDATE(), 12); -- 231218
SELECT CONVERT(VARCHAR(100), GETDATE(), 13); -- 18 12 2023 11:32:07:200
SELECT CONVERT(VARCHAR(100), GETDATE(), 14); -- 11:32:26:890
SELECT CONVERT(VARCHAR(100), GETDATE(), 20); -- 2023-12-18 14:39:27
SELECT CONVERT(VARCHAR(100), GETDATE(), 21); -- 2023-12-18 14:39:53.890
SELECT CONVERT(VARCHAR(100), GETDATE(), 22); -- 05/07/23 4:51:11 PM
SELECT CONVERT(VARCHAR(100), GETDATE(), 23); -- 2023-12-18
SELECT CONVERT(VARCHAR(100), GETDATE(), 24); -- 14:41:37
SELECT CONVERT(VARCHAR(100), GETDATE(), 25); -- 2023-12-18 14:41:55.753
SELECT CONVERT(VARCHAR(100), GETDATE(), 100); -- 12 18 2023 2:42PM
SELECT CONVERT(VARCHAR(100), GETDATE(), 101); -- 12/18/2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 102); -- 2023.12.18
SELECT CONVERT(VARCHAR(100), GETDATE(), 103); -- 18/12/2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 104); -- 18.12.2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 105); -- 18-12-2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 106); -- 18 12 2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 107); -- 12 18, 2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 108); -- 14:51:35
SELECT CONVERT(VARCHAR(100), GETDATE(), 109); -- 12 18 2023 2:55:49:273PM
SELECT CONVERT(VARCHAR(100), GETDATE(), 110); -- 12-18-2023
SELECT CONVERT(VARCHAR(100), GETDATE(), 111); -- 2023/12/18
SELECT CONVERT(VARCHAR(100), GETDATE(), 112); -- 20231218
SELECT CONVERT(VARCHAR(100), GETDATE(), 113); -- 18 12 2023 14:56:43:650
SELECT CONVERT(VARCHAR(100), GETDATE(), 114); -- 14:56:54:200
SELECT CONVERT(VARCHAR(100), GETDATE(), 120); -- 2023-12-18 14:57:09
SELECT CONVERT(VARCHAR(100), GETDATE(), 121); -- 2023-12-18 14:57:18.083
SELECT CONVERT(VARCHAR(100), GETDATE(), 126); -- 2023-12-18T14:57:26.920
SELECT CONVERT(VARCHAR(100), GETDATE(), 131); -- 6/06/1445 2:58:44:013PM
将字符串转换为整数
SELECT CAST('123' AS INT);
将浮点数转换为字符串
SELECT CAST(3.14 AS VARCHAR(5));
数字转换为字符串
SELECT CONVERT(VARCHAR(100), 123);
等同于
SELECT CAST(123 AS VARCHAR(100));