2011-10-27 8 views
2
が含まれているSQLクエリ

カラムがES&DのSQL Server 2008データベースがあります。カラム名に&

SELECT ES&D FROM myDB 

またはこの:私は、このような列に基づいて照会する

SELECT * FROM myDB WHERE ES&D=1 

しかし、私は(私はクエリを記述するために、SQL Server Management Studioを使用しています)、次のエラーが表示されます。

メッセージレベル16、状態1、行1
無効な列名 'ES'。
レベル206、状態1、行1
無効な列名 'D'。

&を列名にエスケープする方法はありますか?SQLでは文字通りそのように扱いますか?

+4

最初にその列名を作成した人には、ポックスがあります。 –

+0

@Joe Stefanelli冗談なし – Zach

答えて

8

はい - 角括弧で自分の列名を囲みます。

SELECT [ES&D] FROM myDB 

動作する必要があること - 私は願っています!例えば、 ([Order Details])、または[Order]テーブルのようなSQLキーワードであるオブジェクト名

+3

ありがとう!それは完璧に働いた。これは、クエリの作成時にManagement Studioが大括弧を挿入する理由を説明しています。 – Zach