@> 在 SQL 中是啥意思
Posted
技术标签:
【中文标题】@> 在 SQL 中是啥意思【英文标题】:What does @> mean in SQL@> 在 SQL 中是什么意思 【发布时间】:2019-05-23 16:22:06 【问题描述】:您好,我有在 select 语句中使用 @>
的代码。我需要将查询从 redash 对应项更改为 bigquery。
我已经搜索了@
,这意味着该参数将被采用,以防止它被sql注入。
select
u.user_kvs IS NOT NULL AND u.user_kvs @> 'google_authenticator_enabled=>1'
from
sometable
不确定它的作用。就是这个问题。
【问题讨论】:
为什么这个标签是 bigquery 和 postgresql?请消除歧义 Bigquery 不支持动态 sql,因此您必须在提交 sql 之前使用自己的代码替换 @。没有早/晚绑定的概念。 @TamirKlein BigQuery 支持cloud.google.com/bigquery/docs/parameterized-queries 是的,我知道它仍然与 sql 中的 @ 概念不同,因为这是一个 api。然而,这可能是问题解决方案的一部分,尽管我觉得这个问题需要更多细节才能更好地回答。 【参考方案1】:对于 BigQuery 中的参数化查询,
https://cloud.google.com/bigquery/docs/parameterized-queries。使用@ 字符后跟标识符,例如@param_name。 [...] 或者,使用占位符值?
例如:
#standardSQL
SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC;
您必须在查询时通过 API 提供此参数的值。
【讨论】:
以上是关于@> 在 SQL 中是啥意思的主要内容,如果未能解决你的问题,请参考以下文章