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