在查询结果中转换列的类型

时间:2013-12-20 11:46:48

标签: sql-server tsql

我有一个包含两列(int,int)的表,如何编写一个查询,该表的结果是(int,varchar)

3 个答案:

答案 0 :(得分:3)

CAST and CONVERT (Transact-SQL)

select Column1, cast(Column2 as varchar(11)) as Column2
from YourTable

答案 1 :(得分:1)

您可以通过两种方式转换查询的结果集

select Column1, CAST(Column2 as varchar(50)) as Column2
from Table1

select Column1, convert(varchar(50), Column2) as Column2
from Table1

答案 2 :(得分:0)

如果您的代码需要符合ANSI标准,请使用CAST。如果没关系,请使用CONVERT。

您可以使用sql_variant_property检查转换结果:

SELECT Col1, 
       CAST(Col2 AS VARCHAR), 
       sql_variant_property(CAST(Col2 AS VARCHAR),'BaseType')
 FROM yourTable


SELECT Col1, 
       CONVERT(VARCHAR,Col2), 
       sql_variant_property(CONVERT(VARCHAR,Col2),'BaseType')
FROM yourTable