Maison  >  Article  >  php教程  >  SQL中的cast和convert的用法和区别

SQL中的cast和convert的用法和区别

高洛峰
高洛峰original
2016-12-14 13:23:402822parcourir

一、语法: 

1、使用 CAST


  CAST ( expression AS data_type )


2、使用 CONVERT

  CONVERT (data_type[(length)], expression [, style])


3、参数说明


  expression

  是任何有效的表达式。

  data_type:

  目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。

  length

  nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

  style

  日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

 

二、cast和convert的代码示例

select CAST('123' as int)   -- 123
 
select CONVERT(int, '123')  -- 123
 
 
 
select CAST(123.4 as int)   -- 123
 
select CONVERT(int, 123.4)  -- 123 
 
 
 
select CAST('123.4' as int)
 
select CONVERT(int, '123.4')
 
-- Conversion failed when converting the varchar value '123.4' to data type int.
 
 
 
select CAST('123.4' as decimal)  -- 123
 
select CONVERT(decimal, '123.4') -- 123 
 
 
 
select CAST('123.4' as decimal(9,2))  -- 123.40
 
select CONVERT(decimal(9,2), '123.4') -- 123.40
 
 
 
declare @Num money
 
set @Num = 1234.56
 
select CONVERT(varchar(20), @Num, 0)  -- 1234.56
 
select CONVERT(varchar(20), @Num, 1)  -- 1,234.56
 
select CONVERT(varchar(20), @Num, 2)  -- 1234.5600

三、convert函数的style参数说明

1、Date 和 Time 样式

1.png

2、float 和 real 样式

1.png

3、money 和 smallmoney 样式

1.png

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn