Sql 从过程返回数据集时,是否有方法更改列的类型?

Sql 从过程返回数据集时,是否有方法更改列的类型?,sql,sql-server-2005,Sql,Sql Server 2005,我基本上希望做这样的事情: SELECT MYCOLUMN AS 'MYALIAS' VARCHAR(500) FROM MYTABLE 我现在做的是: SELECT COLUMN1 AS 'TEXT', COLUMN 2 AS 'VALUE' FROM MYTABLE COLUMN2是一个INT列,但是我需要附加一个带有UNION的字符串值作为其他选择。有没有一种方法可以将该列作为VARCHAR返回,而不用事先实际构建表并使用INSERT INTO和CONVERT?如果没有,那没什么大不

我基本上希望做这样的事情:

SELECT MYCOLUMN AS 'MYALIAS' VARCHAR(500) 
FROM MYTABLE
我现在做的是:

SELECT COLUMN1 AS 'TEXT',
COLUMN 2 AS 'VALUE'
FROM MYTABLE

COLUMN2是一个INT列,但是我需要附加一个带有UNION的字符串值作为其他选择。有没有一种方法可以将该列作为VARCHAR返回,而不用事先实际构建表并使用INSERT INTO和CONVERT?如果没有,那没什么大不了的,我只是想看看是否有一种巧妙的方法。你可以随时将专栏转换为另一种类型:

SELECT 
    COLUMN1,
    CAST(COLUMN2 AS VARCHAR(500))
FROM MYTABLE

作为“文本”的方法仅为列定义别名(不同的名称),它不会以任何方式影响数据类型。

您可以在SELECT子句中使用CONVERT或CAST:SELECT CASTMYCOLUMN AS VARCHAR500 FROM…Perfect。我理解别名部分,我就是这样写出来的。我不是那么大的新手谢谢,马克。