postgresql 双问号(??)在sql(postgres sql)中是什么意思

ev7lccsx  于 2022-12-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(485)

双问号(??)在sql或sql查询中是什么意思.(postgres sql).
我的数据库服务器是Postgres,我使用的列类型是jsonb。
我看到一个包含??的查询。

select rr.jdoc 
from table_with_jsonb rr 
where not (rr.jdoc ?? 'pivot')  
  and ((rr.jdoc->'mapping'->>'objectType')<>'meta');

有人能解释一下??的意思吗?任何参考资料都会有很大的帮助。
通常我的理解是-?允许参数化查询。
但是这个表9.4 ref -〉FUNCTIONS-JSONB-OP-TABLE或13.x ref -〉FUNCTIONS-JSONB-OP-TABLE为?添加了更多的使用场景,但是仍然没有说明??是什么。
PS:请忽略9.4的文档引用。我目前使用的是13.x。

xwbd5t1u

xwbd5t1u1#

当通过JDBC使用时,它与?operator相同。
JDBC使用?作为参数占位符,因此需要有一种方法来区分操作符和参数占位符,所以Postgres JDBC驱动程序允许在PreparedStatement中使用??来转义?操作符。
我不知道其他技术(ODBC、.Net)是否也使用类似的机制。

相关问题