2013-01-10 56 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