在SQL查询中,"%()s"是什么意思?

3

有人能帮我解决这个查询吗?我对SQL没有深入的了解。这个查询中的这两行代码是什么意思?

HIT_DAY = TO_DATE(%(date)s,'MM-DD-YYYY')
ss.weblab_name = %(experiment)s

日期和实验是我应该传递到查询中的某种参数吗?为什么它们以 "s" 结尾?如何传递这些参数?

这是整个查询:

SELECT 
    session_count,
    treatment
FROM 
    SESSIONS ss
WHERE 
    HIT_DAY = TO_DATE(%(date)s,'MM-DD-YYYY')
AND
    ss.weblab_name = %(experiment)s
GROUP BY
    ss.treatment_name
;

1个回答

2
一些 SQL IDE,如 Datagrip 和 Redash,使用这种类型的东西来指示用户参数可以输入。请参见:https://www.jetbrains.com/help/datagrip/user-parameters.htmlhttp://help.redash.io/article/44-query-parameters
一些应用程序使用这种格式来指示在动态创建查询时应将数据放置的位置(因此这将是一个查询模板)。
它很可能只是字符串替换,所以 %(experiment) 可能会解析为 widget,但列名可能是 widgets。或者可能有其他内容,但完全取决于使用这些内容的应用程序。不是 Redshift。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接