【问题标题】: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 之前使用自己的代码替换 @。没有早/晚绑定的概念。
  • 是的,我知道它仍然与 sql 中的 @ 概念不同,因为这是一个 api。然而,这可能是问题解决方案的一部分,尽管我觉得这个问题需要更多细节才能更好地回答。

标签: sql google-bigquery redash


【解决方案1】:

对于 BigQuery 中的参数化查询,

使用@ 字符后跟标识符,例如@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 提供此参数的值。

【讨论】:

    猜你喜欢
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2017-06-11
    • 2018-03-05
    • 2023-03-27
    相关资源
    最近更新 更多