sql语句类型转换
简介:
数据类型转换可以通过CAST()和CONVERT()函数来实现。⼤多数情况下,这两个函数是重叠的,它们反映了SQL语⾔的演化历史。这两个函数的功能相似,不过它们的语法不同。虽然并⾮所有类型的值都能转变为其他数据类型,但总的来说,任何可以转换的值都可以⽤简单的函数实现转换。
语法:
CAST ( expression AS data_type )
CONVERT (data_type[(length)], expression [, style])
⽤例:
A.检索书名当前销售额的第⼀位数字为3,通过将ytd_sales转换为char(20)实现。
USE  pubs
GO
SELECT  SUBSTRING(title,  1,  30)  AS  Title,  ytd_sales
FROM  titles
WHERE  CAST(ytd_sales  AS  char(20))  LIKE  '3%'
GO
USE  pubs
GO
SELECT  SUBSTRING(title,  1,  30)  AS  Title,  ytd_sales
FROM  titles
WHERE  CONVERT(char(20),  ytd_sales)  LIKE  '3%'
GO
B.  使⽤带有算术运算符的CAST
USE  pubs
GO
SELECT  CAST(ROUND(ytd_sales/price,  0)  AS  int)  AS  'Copies'
FROM  titles
GO
C.  使⽤CAST进⾏串联
USE  pubs
GO
SELECT  'The  price  is  '  +  CAST(price  AS  varchar(12))
FROM  titles
WHERE  price  >  10.00
GO
D.使⽤CAST获得更多易读⽂本
USE  pubs
GOsql语句实现的四种功能
SELECT  CAST(title  AS  char(50)),  ytd_sales
FROM  titles
WHERE  type  =  'trad_cook'
GO
E.使⽤带有LIKE⼦句的CAST
USE  pubs
GO
SELECT  title,  ytd_sales
FROM  titles
WHERE  CAST(ytd_sales  AS  char(20))  LIKE  '15%'
AND  type  =  'trad_cook'
GO
提⽰:
当从⼀个 SQL Server 对象的数据类型向另⼀个转换时,⼀些隐性和显式数据类型转换是不⽀持的。例如,nchar 数值根本就不能被转换成 image 数值。nchar 只能显式地转换成 binary,隐性地转换到 binary 是不⽀持的。nchar 可以显式地或者隐性地转换
成 nvarchar。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。