SQL 改进¶
Snowflake 不断推出增强功能,使编写查询更加容易。使用这些新关键字和函数,可以编写更简单、更短的 SELECT 语句。
2024 年 SQL 改进¶
2024 年推出了以下 SQL 改进:
发布日期 |
改进 |
影响 |
---|---|---|
2024 年 10 月 |
在将对象存储在列中之前,可以更轻松地减小其大小。请注意,您仍然不能在列中存储大于 16 MB 的对象。 |
|
2024 年 10 月 |
您可以使用 lambda 表达式来减少半结构化和结构化数据,从而提供一种简洁、可读性强且高效的方式来执行数据操作和高级分析。 |
|
2024 年 9 月 |
支持 从返回表格数据的存储程序中选择。 |
您可以简化将结果保存到表的 SQL 语句。例如,与其使用 SQLID Snowflake Scripting 变量和 RESULT_SCAN 函数来创建一个包含查询结果的表,不如使用一个直接从结果中进行选择的查询。 |
2024 年 9 月 |
预览支持扩展至 :ref:` 具有显式偏移(n PRECEDING 和 n FOLLOWING)的 RANGE BETWEEN 窗口框架 <label-window_syntax_and_usage>`,包括 FIRST_VALUE 和 LAST_VALUE 窗口函数。 |
当时间序列数据集中出现预期或意外的缺失记录导致间隙时,您可以使用附加函数来运行移动聚合。 |
2024 年 8 月 |
您可以在一个或多个表的指定列中查找字符数据(文本)和 IPv4 地址,包括 VARIANT、OBJECT 和 ARRAY 列中的字段。 |
|
2024 年 8 月 |
支持在 函数调用 和 对象常量 中使用 ILIKE 和 EXCLUDE 关键字在 SELECT 列表或 GROUP BY 子句中进行筛选。 |
在函数调用和对象常量中,可以筛选与模式匹配的列,也可以排除特定列。 |
2024 年 7 月 |
支持在 OBJECT 常量 中指定通配符,以便在 SELECT 列表或 GROUP BY 子句中进行筛选。 |
您可以使用属性名作为键,相关值作为值,从指定数据中构建一个 OBJECT 值。 |
2024 年 6 月 |
预览版支持 RANGE BETWEEN 显式偏移窗口框架 <label-window_syntax_and_usage>`(n PRECEDING 和 n FOLLOWING),用于以下窗口函数::doc:/sql-reference/functions/avg`、COUNT、MIN、MAX 和 SUM。 |
当时间序列数据集中出现预期或意外的缺失记录导致间隙时,您可以更轻松地运行移动聚合。 |
2024 年 5 月 |
支持在 UNPIVOT 分子句中使用 |
在 SQL 语句中使用 UNPIVOT 分子句时,灵活性更大。 |
2024 年 5 月 |
预览对 CREATE OR ALTER TABLE 和 CREATE OR ALTER TASK 的支持。 |
您可以将 CREATE 命令和 ALTER 命令的功能结合起来。 |
2024 年 5 月 |
支持使用 TABLE 关键字 获取对表、视图、安全视图或查询的引用,并 在 FROM 子句中调用类中的方法。 |
您可以使用 TABLE 关键字编写更简单的 SQL 语句。 |
2024 年 5 月 |
新 ASOF JOIN 构造。 |
您可以编写更简单的 SQL 语句来连接包含 时间序列数据的表。 |
2024 年 5 月 |
支持使用 PIVOT 构造指定 ANY 关键字或子查询。 |
您可以轻松地对所有不同值或子查询返回的所有值执行透视。 |
2024 年 5 月 |
您可以使用 Lambda 表达式来筛选和转换半结构化和结构化数据,从而提供一种简洁、可读性强且高效的方式来执行数据操作和高级分析。 |
|
2024 年 3 月 |
可以从表达式列表中返回最低或最高的非 NULL 值。 |
|
2024 年 3 月 |
支持 SELECT 列表中的尾随逗号。 |
您可以删除或移动 SELECT 列表中的最后一列,而无需删除前面的逗号。 |
2024 年 2 月 |
可以将使用 |
2023 年 SQL 改进¶
2023 年推出了以下 SQL 改进:
发布日期 |
改进 |
影响 |
---|---|---|
2023 年 8 月 |
新 ARRAY_MIN、ARRAY_MAX 和 ARRAY_SORT 函数。 |
现在可以轻松选择数组中的最小值和最大值元素。 您可以轻松获取排序后的元素数组。 |
2023 年 8 月 |
SELECT 命令中的新 ILIKE 和 REPLACE 参数。 |
现在,您可以选择与包含 SQL 通配符的模式匹配的所有列。 选择所有列时,可以用表达式替换特定列的值。 |
2023 年 7 月 |
GROUP BY 构造中的新 ALL 关键字。 |
您可以按 SELECT 列表中所有非汇总列对结果进行分组,而无需指定每一列的名称。 |
2023 年 2 月 |
支持在 ROUND 函数中使用银行家舍入法(奇进偶舍 (link removed))。 |
现在可以在四舍五入数值时使用银行家舍入法。 |
2023 年 1 月 |
您可以在列中找到包含最小值或最大值的行,然后从其他列中检索值。 |
2022 年 SQL 改进¶
2022 年推出了以下 SQL 改进:
发布日期 |
改进 |
影响 |
---|---|---|
2022 年 11 月 |
SELECT 命令中的新 EXCLUDE 和 RENAME 参数。 |
现在,您可以选择所有列,并指定要排除或重命名特定列。 |
2022 年 11 月 |
新 ARRAY_EXCEPT 和 ARRAY_DISTINCT 函数。 |
现在可以轻松选择仅存在于一个数组中但不在另一个数组中的元素。 您可以轻松获取数组中的不同元素。 |
2022 年 5 月 |
新 REGEXP_SUBSTR_ALL 函数。 |
现在,您可以轻松从字符串中提取与正则表达式匹配的子字符串。 |