我试图在此查询中逃避self.navigationController?.navigationBar.isTranslucent = true
运算符:
?|
然而val data = sql"""
SELECT ......
FROM .......
WHERE table.column ?| array['23', '12']
""".as[Int].head
db.run(data)
运算符在查询中被翻译为?|
(在数据库查询日志中检查),它显然会生成错误
$1|
我已尝试ERROR: syntax error at or near "$1" at character 735
和#?|
但没有成功
答案 0 :(得分:1)
?
是JDBC中参数的占位符(Slick之后的级别)。您可以将?
specifically for PostgreSQL转义为??|
。在SO 14779896 - Does the JDBC spec prevent '?' from being used as an operator中对此进行了有用的讨论。
该惯例的替代方案是使用非符号替代方案:jsonb_exists_any
。例如,
WHERE jsonb_exists_any(table.column, array['23', '12'])