SQL Server不接受别名

时间:2013-01-10 02:56:22

标签: sql-server sql-server-2008 alias

今天第一次构建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

更改别名并不是什么大问题 - 但最好知道为什么这个特殊的别名不起作用以及如何防止或意识到未来要避免使用的任何关键字。

2 个答案:

答案 0 :(得分:4)

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

SELECT INVOICE_INVOICE_SEQ AS [lineno]

Reserved words

答案 1 :(得分:0)

答案就在你的问题中。除非您在记事本中键入SQL查询,否则关键字会更改颜色并且您应该能够轻松地将其设置出来。理想情况下,为别名使用关键字并不是一个好习惯,但如果必须,请将它们用方括号括起来 - []。

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

拉​​吉