向选择的SQL查询添加列

时间:2014-05-25 16:30:14

标签: sql sql-server tsql select

我有一个SQL查询从表中选择某些属性,它看起来如下:

SELECT [pk], [TagGenNo], [Enabled] FROM [TagNumbers]

现在我希望我的sql查询返回带有一个名为selected的附加列的数据,该列默认为false并且类型为bit / boolean。

因此它将返回如下结果:

pk    TagGenNo    Enabled    Selected
100   03          1          0
101   023         0          0

1 个答案:

答案 0 :(得分:4)

我假设您只想在结果中添加一列零。如果是这样,只需选择一个常量:

SELECT [pk], [TagGenNo], [Enabled], CAST(0 AS bit) AS [Selected] FROM [TagNumbers]

作为旁注,虽然这确实有它的应用程序(例如将数据插入另一个没有默认值的表),但您可能需要三思而后行应用程序的体系结构。如果此列的值总是一个常量并且永远不会持久化回数据库,那么在数据库端生成此值并且必须通过该数据库发送一大堆零实际上没有任何好处。线。 (更不用说它将持久层与控制器或表示层强烈耦合)。

根据您的评论,我建议在对象本身中保留每个对象的布尔属性Selected,在构造时默认为false。这样,您的数据库就不必了解"对象选择"