我正在尝试执行 SELECT 语句,其中参数可能具有空值:
SQL(
"""
SELECT id FROM devices WHERE
name = {name}
""")
.on("name" -> device.name)()
.collectFirst {
...
}.getOrElse {
...
}
device.name
可以返回null。我db.default.logStatements=true
看到生成的 SQL 看起来像这样:SELECT id FROM devices WHERE name = NULL
.
name = NULL
对 Postgre SQL 不太有效,但我已经使用transform_null_equals
. 现在,当我使用 pgAdmin 从日志中执行 SQL 时,它工作得非常好。但是,ANORM 没有找到任何东西。
以下代码确实返回结果:
SQL(
"""
SELECT id FROM devices WHERE
name = NULL
""")
.on("name" -> device.name)()
.collectFirst {
...
}.getOrElse {
...
}
它出什么问题了?!