说明: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 数据转换为字符。