如何在Microsoft SQL Server中执行基于表达式的SELECT查询?
在Microsoft SQL Server中执行基于表达式的SELECT查询方法
Microsoft SQL Server要求SELECT语句中查询的表达式必须指定列别名,这是它和PostgreSQL的核心语法差异。直接执行无别名的表达式会触发语法错误,解决方法很简单:给表达式添加别名即可。
正确写法示例
SELECT 6 BETWEEN 5 AND 7 AS Result;
执行后返回结果:
Result ------ 1
SQL Server中布尔结果会以1(真)或0(假)的形式返回,而非PostgreSQL的t/f。
如果希望列名和PostgreSQL默认的?column?一致,也可以这样写:
SELECT 6 BETWEEN 5 AND 7 AS [?column?];
执行结果:
?column? -------- 1
错误原因说明
PostgreSQL会自动为无别名的表达式生成默认列名(如?column?),但SQL Server的语法规则要求查询列表中的每个字段必须有明确标识,因此必须手动指定别名才能通过语法校验。
内容的提问来源于stack exchange,提问作者Eugen Konkov
相关产品推荐
相关产品推荐

