sql⾥的cast和convert,类型转换函数
将某种数据类型的表达式显式转换为另⼀种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使⽤ CAST:
CAST ( expression AS data_type )
使⽤ CONVERT:
CONVERT (data_type[(length)], expression [, style])
参数
expression
是任何有效的 Microsoft SQL Server" 表达式。有关更多信息,请参见。
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 数据类型)。
transform和convert的区别将某种数据类型的表达式显式转换为另⼀种数据类型。有关可⽤的数据类型的更多信息,请参见数据类型。⽇期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。当转换为字符数据时输出。
隐性转换对于⽤户是不可见的。
SQL Server ⾃动将数据从⼀种数据类型转换成另⼀种数据类型。例如,如果⼀个 smallint 变量和⼀个 int 变量相⽐较,这个 smallint 变量在⽐较前即被隐性转换成 int 变量。
显式转换使⽤ CAST 或 CONVERT 函数。
CAST 和 CONVERT 函数将数值从⼀个数据类型(局部变量、列或其它表达式)转换到另⼀个数据类型。例如,下⾯的CAST 函数将数值 $157.27 转换成字符串 ''$157.27'':CAST ( $157.27 AS VARCHAR(10) )CAST 函数基于 SQL-92 标准并且优先于 CONVERT。
当从⼀个 SQL Server 对象的数据类型向另⼀个转换时,⼀些隐性和显式数据类型转换是不⽀持的。例如,nchar 数值根本就不能被转换成 image 数值。nchar 只能显式地转换成 binary,隐性地转换到 binary是不⽀持的。nchar 可以显式地或者隐性地转换成 nvarchar。
当处理 sql_variant 数据类型时,SQL Server ⽀持将具有其它数据类型的对象隐性转换成 sql_variant 类型。然⽽,SQL Server 并不⽀持从 sql_variant 数据隐性地转换到其它数据类型的对象。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论