sql查询中的“%()s”是啥意思?
Posted
技术标签:
【中文标题】sql查询中的“%()s”是啥意思?【英文标题】:What does "%()s" means in sql query?sql查询中的“%()s”是什么意思? 【发布时间】:2018-02-15 16:20:55 【问题描述】:有人可以帮我解决这个问题吗?我对 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】:一些 SQL IDE,如 Datagrip 和 Redash 使用这些类型的东西来指示可以输入用户参数。 看 https://www.jetbrains.com/help/datagrip/user-parameters.html http://help.redash.io/article/44-query-parameters
某些应用程序使用这种格式来指示在动态创建查询时应将数据放置在何处(因此这将是一个查询模板)
它们很可能只是字符串替换,因此 %(experiment) 可能会解析为小部件,但列名可能是小部件。或者可能还有其他东西,但它完全取决于使用这些的应用程序。不是红移。
【讨论】:
以上是关于sql查询中的“%()s”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章