sql中的数据类型转换

SQL字符串函数大全-数据类型转换函数
 
在一般情况下,SQL Server 会自动完成数据类型的转换,例如,可以直接将字符数据类型或表达式与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、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。


用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。

例子:
        CAST([字段名] as varchar(4000))
        CONVERT(varchar(4000),[字段名] 

 

 

LTRIM删除起始空格后返回字符表达式。

语法
LTRIM ( character_expression )

参数
character_expression

是字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐性转换为 varchar 的数据类型。否则,使用 CAST 显式转换 character_expression。

返回类型
varchar

注释
兼容级别可能影响返回值。有关兼容级别的更多信息,请参见 sp_dbcmptlevel。

示例
下例使用 LTRIM 字符删除字符变量中的起始空格。

DECLARE @string_to_trim varchar(60)SET @string_to_trim = ''     Five spaces are at the beginning of this   string.''SELECT ''Here is the string without the leading spaces: '' +    LTRIM(@string_to_trim)GO
下面是结果集:

------------------------------------------------------------------------Here is the string without the leading spaces: Five spaces are at the beginning of this string.             (1 row(s) affected)

 

RTRIM截断所有尾随空格后返回一个字符串。

语法
RTRIM ( character_expression )

参数
character_expression

由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。

返回类型
varchar

注释
character_expression 必须为可隐性转换为 varchar 的数据类型。否则请使用 CAST 函数显式转换 character_expression。


 

说明  兼容级别可能影响返回值。有关更多信息,请参见 sp_dbcmptlevel。

 

示例
下例显示如何使用 RTRIM 删除字符变量中的尾随空格。

DECLARE @string_to_trim varchar(60)SET @string_to_trim = ''Four spaces are after the period in this sentence.    ''SELECT ''Here is the string without the leading spaces: '' + CHAR(13) +   RTRIM(@string_to_trim)GO
下面是结果集:

(1 row(s) affected)------------------------------------------------------------------------ Here is the string without the leading spaces: Four spaces are after the period in this sentence.           (1 row(s) affected)

 

文章出处:http://www.diybl.com/course/7_databases/sql/sqlServer/20071211/91728.html

posted @ 2010-12-20 11:37  zhdonghu  阅读(429)  评论(0编辑  收藏  举报