如何在SQL查询中创建空白/硬编码列?

时间:2011-03-03 19:50:02

标签: sql coldfusion

我想查询一个列是一个不是来自表的硬编码值,可以这样做吗?我基本上需要它作为占位符,我将在稍后回来并填写。

示例:

SELECT
hat,
shoe,
boat,
somevalue = 0 as placeholder
FROM
objects

然后我会稍后遍历此查询并填写占位符

在这个例子中someValue不是对象中的一个字段,我需要伪造它。我在coldfusion中执行此操作并使用两个数据源来完成一个查询。我已经尝试过space()函数但是无法使它工作。

感谢。

6 个答案:

答案 0 :(得分:81)

SELECT
    hat,
    shoe,
    boat,
    0 as placeholder
FROM
    objects

'' as placeholder表示字符串。

答案 1 :(得分:8)

这适用于大多数数据库。您还可以选择一个空白字符串作为额外列,如下所示:

Select
  Hat, Show, Boat, '' as SomeValue
From
  Objects

答案 2 :(得分:2)

对于varchars,您可能需要执行以下操作:

select convert(varchar(25), NULL) as abc_column into xyz_table

如果您尝试

select '' as abc_column into xyz_table

填充后,您可能会收到与截断相关的错误或空值问题。

答案 3 :(得分:1)

上面的答案是正确的,我认为是“最佳”的答案。但是为了尽可能完整,您也可以使用queryAddColumn直接在CF中执行此操作。

请参阅http://www.cfquickdocs.com/cf9/#queryaddcolumn

同样,在数据库级别进行此操作会更有效...但最好尽可能多地了解其他选项(IMO,当然):)

答案 4 :(得分:0)

谢谢,在PostgreSQL中,此方法适用于boolean

SELECT
hat,
shoe,
boat,
false as placeholder
FROM
objects

答案 5 :(得分:-1)

SELECT
    hat,
    shoe,
    boat,
    0 as placeholder -- for column having 0 value    
FROM
    objects


--OR '' as Placeholder -- for blank column    
--OR NULL as Placeholder -- for column having null value