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  
  GO  
  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。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值