我知道雪花有自己的ANSI SQL扩展,比如开发版。
然而,我想知道雪花使用什么“方言”(因为缺少一个更好的SQL词)?
我在文档里读到:
雪花支持标准SQL,包括ANSI :1999和SQL:2003分析扩展https://docs.snowflake.com/en/user-guide/querying.html的子集
那么,雪花使用的SQL在任何地方都被识别了吗?我想知道当我有SQL语法问题时的情况,我想在这里张贴在堆栈溢出。我是使用tag:snowflake-sql (它似乎只是snowflake-cloud-data-platform的同义词),还是在堆栈溢出上使用另一个与SQL相关的标记呢?显然,我想得到最好的特定于SQL的答案,所以如果可能的话,我不想过多地限制标记。
ANSI SQL:1999、SQL:2003和雪花之间是否有任何区别?
发布于 2021-10-11 20:22:06
就像每个DB一样,它们支持90%的标准X和+10%的不同,因为这样做很便宜,或者允许公开表示DB的底层概念框架。
这实际上意味着“没有标准”来捕捉“他们所做的事情”。
我的不同问题可能是在头上翻一下,然后问“为什么一个人想要一个标准”。
对于这里的post,snowflake-cloud-data-platform是当前的accept标记。而且,只要您没有使用太多通用的sql或其他特定于DB的标记,使用任何运行在雪花上的SQL都是可以接受的。
许多人像Gordan一样会用标准的ANSI SQL给出答案,这些答案非常好,但有时可以用更密集的形式表达,因为雪花没有那么严格的表达式树规则。
另一个想了解标准的原因是经典的,“我们想写标准SQL,这样我们可以稍后再写”,我经常认为,您应该编写性能最快的SQL,然后移动提供程序并重新表达新DB中的意图,运行优化很差的"run“SQL,它每个月要多花30%,因为4年时间,可能会有一个6个月的DB move项目。
发布于 2021-10-11 13:33:46
根据我的经验,与MySQL /MySQL相比,雪花SQL更接近Postgres
https://stackoverflow.com/questions/69525910
复制相似问题