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 CAST('123.4' as decimal) -- 123
select CONVERT(decimal, '123.4') -- 123
select CAST('123.4' as decimal(9,2)) -- 123.40
select CONVERT(decimal(9,2), '123.4') -- 123.40
3、年份转换
SET @dt=
'1900-1-2'
SELECT CAST(@dt
as
binary(8))--结果: 0x0000000100000000
时间转换
SET @dt=
'00:00:01'
SELECT CAST(@dt
as
binary(8)) --
--结果: 0x000000000000012C