T-SQL 与带 AS 的 Sybase SELECT [重复]

T-SQL vs Sybase SELECT with AS [duplicate]

提问人:LarsV 提问时间:10/24/2023 最后编辑:Thom ALarsV 更新时间:10/24/2023 访问量:36

问:

在 Sybase 中,是否可以执行以下 T-SQL 操作:SELECT

SELECT 1 AS A, 2 AS B, A+B AS C

在MS SQL Server下(无论哪个版本),我收到如下错误:

Meldung 207, Ebene 16, Status 1, Zeile 9
Ungültiger Spaltenname “A”.
Meldung 207, Ebene 16, Status 1, Zeile 9
Ungültiger Spaltenname “B”.*

但我可以像 SELECT 一样做

SELECT field AS a FROM table
ORDER BY a

在 SQL Server 下是否有可能使用与 Sybase 相同的语法?

sql-server 选择 别名 sybase

评论

0赞 Thom A 10/24/2023
不,这是不可能的。
0赞 Thom A 10/24/2023
此外,Stack Overflow的所有内容都需要是英文的。不同语言的错误是没有帮助的;您应该花时间翻译它或从系统中获取英文错误。
0赞 Thom A 10/24/2023
有关更多信息,请参见 SELECT 语句的逻辑处理顺序
0赞 Panagiotis Kanavos 10/24/2023
你问的是Sybase的怪癖。据我所知,没有其他数据库允许这样做。如果你使用 dbFiddle,你会看到查询在 MySQL、PostgreSQL 和 SQLite 中也失败了。所有数据库产品都有 SQL 的怪癖和自定义扩展。
0赞 The Impaler 10/24/2023
你可以做.select x.*, A+B as C from (SELECT 1 AS A, 2 AS B) x

答: 暂无答案