cast和convert函数都是sql 类型转换函数,只是使用语法不同,且在时间转换时convert函数具有style格式!
支持转换类型:
- 二进制,同带binary前缀的效果 : binary
- 字符型,可带参数 : char()
- 日期 : date
- 时间: time
- 日期时间型 : datetime
- 浮点数 : decimal
- 整数 : signed
- 无符号整数 : unsigned
例:
1.
SELECT CONVERT('23',SIGNED); -- 23
SELECT CAST('125e342.83' AS signed); -- 125
SELECT CAST('3.35' AS signed); -- 3
2.
SELECT CONVERT('123.4',decimal); -- 123
SELECT CAST('123.4' as decimal); -- 123
SELECT CAST('123.4' as decimal(9,2)); -- 123.4
SELECT CONVERT('123.4',decimal(9,2)); -- 123.4
3.
转换时间的显示格式
SELECT CURRENT_TIMESTAMP; -- 2017-04-12 11:06:38
SELECT CONVERT(VARCHAR,CURRENT_TIMESTAMP,111); -- 2017/04/12
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
结果:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635