美好的一天
我有一个包含十几列的表,我正在寻找一个返回仅填充特定列的行的查询。所以它不应该返回填充“非法”列的行。
类似的东西:
SELECT * FROM table WHERE col1 is NOT NULL
AND all_other_cols is NULL;
^我知道可以通过列出每个其他列并指示“not NULL”来完成,但还有另一种方法吗?
希望这是有道理的
更新:
根据下面的答案,我只会使用“DESCRIBE my_table”;然后构建一个查询,使用'is NULL'过滤所有不需要的列
答案 0 :(得分:2)
没有直接的功能。但可以做的是:
您将所有表列连接到单个字符串,然后针对 not 的列NULL
测试该字符串。如果所有其他列都为空或保持NULL
,则这两个值只能相同。
这个问题的答案可能有助于如何简化:
答案 1 :(得分:1)
我认为你的方法是最简单的方法
答案 2 :(得分:1)
您可以使用ISNULL条件:check out here