如何在SQLite中操作*选择的列?

时间:2012-02-16 22:23:56

标签: sql sqlite

我希望查询返回所有行和所有列,但有一点需要注意:如果在给定行中,colN为null,则返回字符串'FOO'。

为什么我不使用SELECT col1, col2, ..., COALESCE(colN, 'FOO')

我正在实现一个抽象接口,因此我需要使用SELECT的{​​{1}}个查询(因为我无法对哪些列进行假设)。我只能假设存在1列:colN。

这会给我带来什么?

我需要这个,因为这个查询与UNION结合使用,这使我可以跟踪数据的来源。

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:2)

你可以做的一件事是

SELECT *, COALESCE(colN, 'FOO') as CoalescedColN

如果可以相应调整UNION中的其他选择

答案 1 :(得分:0)

我不知道SQL Lite是否可以使用这种技术,但这是我在大多数其他dbs中会做的事情:

选择*来自 (从表中选择col1,col2,...,COALESCE(colN,'FOO')a