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

30

在特定情况下,我需要向简单的选择语句中添加一个虚拟列:

从主表中选择Id和EndOfcol默认值为“~”,其中ID>40

4个回答

49

是的,它实际上是一个常量值。

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

16
有时候,您可能希望转换常量的数据类型,尤其是如果您计划以后添加其他数据:
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

是的,它可以是恒定的,也可以是有条件的。

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

-1
一个简单的解决方案是添加这样一列:
Select Id, EndOfcol default '~', space(2) as Dummy from Main where id > 40

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接