case?怎样?

zd287kbt  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(314)

我将libreoffice base(新版本)与hsqldb一起使用,并希望在某个列中执行一个查询,当该列或单元格数据不为空时,我希望得到的单元格输出为“x”,否则应保持为空。如何使用hsqldb语法实现这一点?
我在谷歌上搜索了一下,但实际上找不到这方面的任何东西。

ljsrvy3e

ljsrvy3e1#

在hsqldb 1.8中测试。

SELECT B.NAME
FROM "Table1" A
LEFT OUTER JOIN
    (SELECT ID, 'X' AS NAME FROM "Table1") B
ON A.ID = B.ID AND A.NAME <> ''

表1:

ID NAME
~~ ~~~~
1  George
2  Sally
3

结果:

X
X
(empty)

编辑:
hsqldb没有 CASE WHEN . 文档:http://www.hsqldb.org/doc/1.8/guide/ch09.html#n1251e.

SELECT CASE WHEN NAME<>'' THEN 'X' ELSE '' END FROM "Table1"

SELECT CASEWHEN(NAME<>'', 'X','') FROM "Table1"

相关问题