sql数据类型转换函数cast与convert用法

发布时间:2021-01-17编辑:脚本学堂
sql server数据类型转换函数cast与convert函数用法,无法确定sql server 是否能完成隐式转换或使用了不能隐式转换的其它数据类型时,可以使用数据类型转换函数做显式转换。

说明:sql数据库可以自动完成数据类型转换

例如,可以直接将字符数据类型或表达式与datatime 数据类型或表达式比较当表达式中用了integer、 smallint或tinyint 时,sql server 也可将integer 数据类型或表达式转换为smallint数据类型或表达式,这称为隐式转换。

如果不能确定sql server 是否能完成隐式转换或使用了不能隐式转换的其它数据类型,就需要使用数据类型转换函数做显式转换了。

此类函数有两个:
 

cast()
cast() 函数语法:
cast (<expression> as <data_ type>[ length ])

convert()
convert() 函数语法:
convert (<data_ type>[ length ], <expression> [, style])

说明:
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、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。

注意:
1、用convert() 函数的style 选项能以不同的格式显示日期和时间。
2、style 是将datatime 和smalldatetime 数据转换为字符。