我有一个包含两列(int,int)的表,如何编写一个查询,该表的结果是(int,varchar)
答案 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