转换数据

发表于:2007-06-30来源:作者:点击数: 标签:
转换数据 SQL Sever足够强大,可以在需要的时候把大部分数值从一种类型转换为另一种类型。例如,要比较SMALLINT型和INT型数据的大小,你不需要进行显式的类型转换。SQL Sever会为你完成这项工作。但是,当你想在字符型数据和其它类型的数据之间进行转换时,

转换数据

SQL Sever足够强大,可以在需要的时候把大部分数值从一种类型转换为另一种类型。例如,要比较SMALLINT型和INT型数据的大小,你不需要进行显式的类型转换。SQL Sever会为你完成这项工作。但是,当你想在字符型数据和其它类型的数据之间进行转换时,你的确需要自己进行转换操作。例如,假设你想从一个MONEY型字段中取出所有的值,并在结果后面加上字符串“US Dollars”。你需要使用函数CONVERT(),如下例所示:

SELECT CONVERT(CHAR(8),price)+’US Dollars’ FROM orders

函数CONVERT()带有两个变量。第一个变量指定了数据类型和长度。第二个变量指定了要进行转换的字段。在这个例子中,字段price被转换成长度为8个字符的CHAR型字段。字段price要被转换成字符型,才可以在它后面连接上字符串’US Dollars’。

当向BIT型,DATETIME型,INT型,或者NUMERIC型字段添加字符串时,你需要进行同样的转换操作。例如,下面的语句在一个SELECT语句的查询结果中加入字符串’The vote is’,该SELECT语句返回一个BIT型字段的值:

SELECT ‘The vote is’+CONVERT(CHAR(1),vote) FROM opinion

下面是这个语句的结果示例:

The vote is 1

The vote is 1

The vote is 0

(3 row(s) affected)

如果你不进行显式的转换,你会收到如下的错误信息:

Implicit conversion from datatype ‘varchar’ to ‘bit’ is not allowec.

Use the CONVERT function to run this query.

原文转自:http://www.ltesting.net