在某些情况下,我需要在一个简单的select语句中添加一个虚拟列:
Select Id, EndOfcol default '~' from Main where id > 40
答案 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