我在 MySQL 中使用存储过程,带有 CASE 语句。
在 CASE 的 ELSE 子句中(相当于默认:)我想选择并返回一个空的结果集,从而避免通过不处理 ELSE 的情况而引发 SQL 错误,而是返回一个空的结果集,就像常规查询不会返回任何行。
到目前为止,我已经设法使用以下方法做到了:
Select NULL From users Where False
但我必须命名一个现有的表,例如本例中的“用户”。 它可以工作,但如果最终重命名或删除使用的表名,我更喜欢一种不会中断的方法。
我试过 Select NULL Where False
但它不起作用。
使用 Select NULL
不会返回一个空集,而是返回一个包含名为 NULL 的列且具有 NULL 值的行。
最佳答案
MySQL 中有一个名为“dual”的虚拟表,您应该可以使用它。
select
1
from
dual
where
false
这总是会给你一个空的结果。