0

今天第一次构造 SQL Server 查询,惊讶地发现这个别名不起作用:

SELECT
    INVOICE_INVOICE_NUMBER AS invno,
    INVOICE_INVOICE_SEQ AS lineno
FROM
    INVOICED

但这确实:

SELECT
    INVOICE_INVOICE_NUMBER AS invoice,
    INVOICE_INVOICE_SEQ AS line
FROM
    INVOICED

更改别名没什么大不了的 - 但最好知道为什么这个特定别名不起作用,以及如何防止或了解任何未来要避免的关键字。

4

2 回答 2

4

LineNo是保留字。您可以将其括在括号中以使用它。

SELECT INVOICE_INVOICE_SEQ AS [lineno]

保留字

于 2013-01-10T02:58:06.670 回答
0

答案就在你的问题本身。关键字会改变颜色,您应该可以轻松识别出来,除非您在记事本中键入 SQL 查询。理想情况下,对别名使用关键字不是一个好习惯,但如果必须,请将它们括在方括号 - [ ] 中。

通常,保留字变为蓝色,函数变为粉红色,系统对象变为绿色。当然,您确实可以更改 SSMS 中的字体(选项 > 环境 > 字体和颜色)

拉吉

于 2013-01-10T03:26:51.313 回答