process-mining
2022.10
false
- 发行说明
- 在开始之前
- 入门指南
- 管理访问权限
- 使用流程应用程序
- 创建流程应用程序
- 正在加载数据
- 自定义流程应用程序
- 数据转换
- 在本地环境中编辑数据转换
- Setting up a local test environment
- SQL differences between Snowflake and SQL Server
- Designing an event log
- Structure of transformations
- Tips for writing SQL
- TemplateOne 应用程序模板
- “购买到付款”应用程序模板
- “订单到现金”应用模板
- Basic troubleshooting guide
SQL differences between Snowflake and SQL Server
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Process Mining
Last updated 2024年10月17日
SQL differences between Snowflake and SQL Server
在本地开发环境中,转换在 SQL Server 上运行,而 Snowflake 在 Process Mining Automation Suite中运行。 尽管大多数 SQL 语句在 SQL Server 和 Snowflake 上都有效,但语法可能略有不同,从而可能导致不同的返回结果。
要编写可在两个数据库系统上运行的 SQL 语句,请执行以下操作:
- 用双引号将字段名称写入,例如
Table."Field"
。 -
防止使用 Snowflake 和 SQL Server 中不同的 SQL 函数,例如
string_agg()
和listagg()
。pm_utils
包附带一组适用于这两种数据库类型的函数,请参阅 多个数据库。 例如,不使用string_agg()
或listagg()
,pm_utils.string_agg()
将导致两个数据库的行为相同。 如果pm_utils
不包含所需的函数,则应创建 Jinja 语句,以确保在每个数据库上调用正确的函数。
要合并为字符串,请使用
pm_utils.concat()
函数。 这将为 SQL Server 和 Snowflake 生成相同的结果。
示例:
pm_utils.concat("This is a nice string", null)
= "This is a nice string"
不应使用+
或||
等运算符连接字符串,因为这两个数据库的运算符不同(Snowflake 使用||
,SQL Server 使用+
)。 此外,标准concat()
函数在两个系统上的行为也不同:
SQL 服务器 |
Snowflake |
---|---|
null 值将被忽略,并视为空字符串。
|
null 值将导致整个结果为null 。
|
在 Snowflake 和 SQL Server 中,排序的处理方式有所不同。
示例:
... order by "Attribute_1" desc, "Attribute_2" ...
。