上QQ阅读APP看书,第一时间看更新
6.5 转换函数
在同时处理不同数据类型的值时,SQL Server一般会自动进行隐式类型转换。这对于数据类型相近的数值是有效的,比如int和float,但是对于其他数据类型,例如整型和字符型数据,隐式转换就无法实现了,此时必须使用显式转换。为了实现这种转换,SQL提供了两个显式转换的函数,分别是CAST()函数和CONVERT()函数。
6.5.1 CAST()函数
CAST(x AS type)函数可以将一个类型的值转换为另一个类型的值。
【例6-46】使用CAST()函数进行数据类型的转换,输入语句如下:
执行结果如图6-46所示。
图6-46 CAST()函数
可以看到,CAST('181231' AS DATE)将字符串值转换为相应的日期值;CAST(100 AS CHAR(3))将整数数据100转换为带有3个显示宽度的字符串类型,结果为字符串“100”;
6.5.2 CONVERT()函数
CONVERT(type,x)函数也可以将一个类型的值转换为另一个类型的值。
【例6-47】使用CONVERT()函数进行数据类型的转换,输入语句如下:
SELECT CONVERT(TIME,'2018-05-01 12:11:10');
执行结果如图6-47所示。
图6-47 CONVERT()函数
由结果可以得知,CONVERT(TIME,'2018-05-01 12:11:10')将datetime类型的值,转换为time类型值,结果为“12:11:10.0000000”。