
Sql Server数据类型转换函数是Sql中最重要的函数之一,下面就为您介绍Sql Server数据类型转换函数的详细使用,供您参考,希望对您有所帮助。
在一般情况下,SQL Server 会自动完成数据类型的转换,例如,可以直接将字符数据类型或表达式与DATATIME 数据类型或表达式比较当表达式中用了INTEGER、 SMALLINT或TINYINT 时,SQL Server 也可将INTEGER 数据类型或表达式转换为SMALLINT数据类型或表达式,这称为隐式转换。如果不能确定SQL Server 是否能完成隐式转换或者使用了不能隐式转换的其它数据类型,就需要使用数据类型转换函数做显式转换了。此类函数有两个:・CAST()CAST() 函数语法如下:CAST (
・CONVERT()CONVERT() 函数语法如下:CONVERT (
提醒: 1、data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。2、length用于指定数据的长度,缺省值为30。3、把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号(+)或负号(-)的数值。4、TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是***长度。5、IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。6、把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。7、BIT类型的转换把非零值转换为1,并仍以BIT类型存储。8、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
例子:CAST([字段名] as varchar(4000))CONVERT(varchar(4000),[字段名])
【编辑推荐】
SQL汉字转换为拼音的函数
SQL中自定义函数的存储过程的区别
SQL中的ISNULL函数介绍
SQL中的CHARINDEX函数
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。 不能使用用户定义的数据类型。 有关可用的数据类型的更多信息,请参见数据类型。 lengthnchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。 style日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。 将某种数据类型的表达式显式转换为另一种数据类型。 有关可用的数据类型的更多信息,请参见数据类型。 日期格式样式,借以将 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 数据隐性地转换到其它数据类型的对象
sqlserver cast有什么用途
cast(expression as transform_type)表示把 expression 字段转换成transform_type类型的数据输出返回transform_type 类型数据;备注:cast不且有四舍五入的数据截取功能,故cast(12.5 as int)系统会报错,可为cast(12.5 as decimal(9,2))实例:假定产品经理已经创建了一个系统,用于唯一地标识生产出来的每辆自行车,以便跟踪其型号、类型和类别。 他决定合并产品号、产品生产线标识符、产品型号标识符和一个顺序号,为生产出来的每辆自行车创建一个唯一的序列号。 在这个过程的第一步,他要求提供包括除顺序号之外的所有属性的所有可能产品的根标识符。 实现 Productnumber 2.+ - 3.+ ProductLine 4.+ - 5.+ CAST(ProductmodelID AS char(4)) AS BikeSerialNum ProductSubCategoryID < 4
SQL cast 和 convert 的区别是什么?
楼上朋友,摘抄一小段就够了,其他地方说的都是一样的。 使用 CAST:CAST ( expression AS data_type ) 使用 CONVERT:CONVERT (data_type[(length)], expression [, style])可以看到,convert比CAST多了一个style,在转化成日期类型时,因为需要格式要求,cast就不合适了,应该还有其他一些需要转化格式的,比如金钱等等,这个看看帮助就知道了。 其他时候,二者实现的功能都一样。 都是转化类型的函数
发表评论