多年来,我发现我的习惯发生了变化,我更喜欢这样写查询:
select FriendlyName = some_column from some_table
与此相对的是:
select some_column as FriendlyName from some_table
最近,我一直在审查一些SQL专家编写的脚本,这些脚本被设计为跨多个数据库版本和平台工作,我只看到了后一种语法。
作为一名软件开发人员,我以前从来不关心这一点,因为我知道我的代码将在哪个版本的SQL Server上运行,但现在我正在编写代码,我希望尽可能多的版本/平台都能访问这些代码。至少,我想写它,这样当时间到来时,在其他版本上运行时需要进行最少的修改。
也就是说,我的问题是,以前的语法(alias = some_column)是否一直是SQL规范的一部分,并且可以在任何数据库上运行,或者它在某些平台或更老的版本中不起作用?
发布于 2021-09-12 10:34:38
alias =语法特定于SQL Server。标准是:
<expression> as alias
<expression> alias也就是说,as是可选的--尽管我强烈建议使用它。
令人遗憾的是,您已经适应了其他数据库中不可用的语法,并且实际上可能意味着其他事情。在接受该语法的大多数其他数据库中,它将被解释为布尔比较--并且通常会生成错误,因为没有定义alias。
不幸的是,这种语法约定使得SQL Server更难支持真正的布尔类型,这将是一种便利。
https://stackoverflow.com/questions/69150549
复制相似问题