我想逃离 ?|
?|
val data = sql""" SELECT ...... FROM ....... WHERE table.column ?| array['23', '12'] """.as[Int].head db.run(data)
然而 ?| 运算符转换为 $1| 在查询中(在DB查询日志中检查),它显然会生成错误
$1|
ERROR: syntax error at or near "$1" at character 735
我试过了 #?| 和 $?| 没有成功
#?|
$?|
? 是JDBC中某个参数的占位符(即Slick之后的级别)。你可以逃跑 ? specifically for PostgreSQL 像 ??| . 在中对此进行了有益的讨论 SO 14779896 - Does the JDBC spec prevent '?' from being used as an operator
?
??|
本公约的一种替代办法是使用非象征性替代办法: jsonb_exists_any . 例如。,
jsonb_exists_any
WHERE jsonb_exists_any(table.column, array['23', '12'])