SQL Server 从入门到项目实践(超值版)
上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”。