sqlsever不能自动执行数据类型转换,我们使用CAS和CONVERT来将表达式类型转换为另一种数据类型。
比如我们前面讲到的,将数字和字符串拼接是会错误的,因此需要把数字转化为字符,然后再拼接,只有数字和数字或者字符和字符拼接,才是语法正确。
比如把chuanchuan字符转化为nvarchar(10)类型:
select cast ('chuanchuan' AS nvarchar(10)) AS 结果
演示:
同样道理数字转字符:
select cast (9 AS nvarchar(10)) AS 结果
演示:
定义:
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的style:
比如用 GETDATE() 函数来获得当前的日期/时间,举例子如下:
SELECT CONVERT(INT, 25.65); SELECT CONVERT(VARCHAR(19),GETDATE()) SELECT CONVERT(VARCHAR(10),GETDATE(),110) SELECT CONVERT(VARCHAR(11),GETDATE(),106)
演示: