SQL:是否可以在select语句中添加虚拟列?

时间:2010-12-29 17:46:58

标签: sql tsql sql-server-2008

在某些情况下,我需要在一个简单的select语句中添加一个虚拟列:

Select Id, EndOfcol default '~' from Main where id > 40

4 个答案:

答案 0 :(得分:42)

是的,它实际上是一个恒定值。

SELECT id, '~' AS EndOfcol
FROM Main
WHERE id > 40

答案 1 :(得分:13)

有时您可能希望转换常量的数据类型,尤其是在您计划稍后向其添加其他数据时:

SELECT id, cast('~' as varchar(20)) AS EndOfcol FROM Main WHERE id > 40 

如果你想添加一个NULL列然后找出进入它的信息,这个特别有用,因为NULL将自动转换为int。

SELECT id,  cast(NULL as varchar(20))  AS Myfield FROM Main WHERE id > 40 

答案 2 :(得分:2)

是的,它可以是常数,也可以是有条件的

SELECT id, '~' EndOfcol FROM Main WHERE id > 40

答案 3 :(得分:-1)

一个简单的解决方案是添加如下列:

Select Id, EndOfcol default '~', space(2) as Dummy from Main where id > 40