首页/数据/数仓建模速查/引擎 SQL 方言差异与兼容写法
湖仓与引擎63 条

引擎 SQL 方言差异与兼容写法

跨引擎 SQL 存在差异:日期函数、字符串拼接、类型转换、正则写法、窗口函数支持度;跨引擎链路尽量用标准写法并把方言封装在层内。

数仓建模速查数据更新于 2026-10-12

能力

能力Hive/SparkMySQL 系
日期截断date_truncdate_format
拼接concatconcat
类型转换cast 宽松cast 严格

兼容写法

兼容写法
-- 用标准写法减少迁移成本
SELECT store_id,
       CAST(pay_amt AS DECIMAL(18,2)) AS pay_amt,
       date_trunc('month', dt) AS mon
FROM dwd_trade_order_di
WHERE dt = '2026-10-12';
把方言差异集中在少数脚本与 UDF 中,换引擎时改动面可控。

易错点

  • 脚本大量依赖某引擎特有函数,迁移等于重写

数据来源与参考

  • Trino 官方文档:SQL Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌