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 に答える