“%()s”在sql查询中的含义是什么?

时间:2018-02-15 16:20:55

标签: sql amazon-redshift

有人可以帮我解决这个问题吗?我对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 个答案:

答案 0 :(得分:2)

某些SQL IDE(如Datagrip和Redash)使用这些类型的东西来指示可以输入用户参数。 看到 https://www.jetbrains.com/help/datagrip/user-parameters.html http://help.redash.io/article/44-query-parameters

某些应用程序使用这种格式来指示动态创建查询时应放置数据的位置(因此这将是查询模板)

它们可能只是字符串替换,因此%(实验)可能会解析为窗口小部件,但列名可能是窗口小部件。或者可能还有其他东西,但它完全取决于使用这些的应用程序。不是Redshift。

相关问题