2013-01-10 57 views
0

建设的今天,第一次一个SQL Server查询,惊讶地看到,这个别名没有工作:SQL服务器不接受别名

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

LineNo是保留字。你可以将它包含在括号中以使用它。

SELECT INVOICE_INVOICE_SEQ AS [lineno] 

Reserved words

+0

感谢的能力!那个保留字链接正是我所期待的! – LuckySpoon

0

答案就在你的问题本身。关键字改变颜色,你应该能够轻松地做到这一点,除非你在记事本中输入你的SQL查询。理想情况下,将关键字用于别名不是一个好习惯,但如果必须将它们包装在方括号中 - []。

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

拉吉

+0

嗨拉吉感谢您的意见。我正在使用不提供语法高亮显示的SQL Server商业智能开发工作室。在我不习惯遇到保留字之前,只使用过MySQL – LuckySpoon