SQL Server中convert、cast函数使用

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));
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值