SQL列别名‘别名=列名’与‘列名as别名’写法的兼容性问题
SQL别名写法兼容性说明
核心结论
别名 = 列名的写法不属于ANSI SQL标准规范,无法在所有数据库中正常运行,仅为SQL Server的专属方言语法。
两种写法的兼容性差异
- 标准写法:
select some_column as FriendlyName from some_table
是ANSI SQL明确规定的别名定义语法,as关键字可省略,所有主流关系型数据库(包括SQL Server全版本、MySQL、PostgreSQL、Oracle、SQLite、DB2等)的所有支持版本均兼容,是跨库通用脚本的唯一选择。 - 方言写法:
select FriendlyName = some_column from some_table
仅SQL Server提供支持,其余所有数据库执行该语法都会直接抛出语法错误,完全不具备跨库兼容性。
适配建议
如果需要编写跨数据库平台的通用脚本,建议统一使用标准的列名 [AS] 别名写法,后续迁移到其他数据库时不需要修改这部分语法,可大幅降低迁移改造成本。
内容的提问来源于stack exchange,提问作者BVernon
相关产品推荐
相关产品推荐

