查询片段
复制和粘贴是编写数据库查询的重要组成部分。 因为复制之前的工作比从头开始编写要容易得多。 对于常见的 JOIN
语句或复杂的 CASE
表达式尤其如此。 然而,随着 Redash 中查询列表的增长,可能很难记住哪些查询包含您现在需要的语句。 这时就需要用到查询片段。
查询片段是整个团队可以共享并通过自动完成触发的查询片段。 您可以在 设置
-> 查询片段
中创建它们。
这是一个简单片段的示例
JOIN organizations org ON org.id = ${1:table}.org_id
插入点
${1:table}
是带有占位符文本的插入点。 当 Redash 渲染片段时,美元符号 $
和花括号 {}
将被删除,单词 table
将被高亮显示,以供用户替换。
您可以将占位符文本用作用户在运行时覆盖的期望默认值。
您可以通过用单个美元符号和花括号 ${}
包裹整数制表符顺序来指定插入点。 以冒号 :
开头的文本占位符是可选的,但对于不熟悉您片段的用户很有用。
当 Redash 渲染此片段时
AND (invoices.complete IS NULL OR invoices.complete <> '${2}')
AND (invoices.canceled IS NULL OR invoices.canceled <> '${1}')
AND (invoices.modified IS NULL OR invoices.modified_date <> '${0: this_date}')
文本插入符将跳转到引号 ''
之间的第二行。 当用户按下 Tab
键时,插入符将向后跳转到第一行。 当用户再次按下 Tab
键时,插入符将跳转到第三行,并且 this_date
将被高亮显示,以提示用户输入所需的值。
插入点零
${0}
始终是制表符顺序中的最后一点。插入查询片段
如果您启用了实时自动完成功能,则可以通过在查询编辑器中键入您在查询片段编辑器中定义的触发词来调用片段。 自动完成将像您数据库中的任何其他关键字一样建议它。
如果禁用了实时自动完成功能,您仍然可以通过按
CTRL + 空格
并键入查询片段的触发词来调用查询片段。 如果您的模式超过 5000 个标记,这可能是必要的。以下是一些片段的其他想法
- 常用的
JOIN
语句 - 复杂的子句,如
WITH
或CASE
。 - 条件格式