- PR -

SQLServer2005にて列名に[]は使えるか

1
投稿者投稿内容
くま
会議室デビュー日: 2008/02/28
投稿数: 2
投稿日時: 2008-02-28 18:57
SQLServer2000から2005へ移行しようとしています。
2005では、テーブルの列名に は使えないのでしょうか?
クライアント側のAccessから、パススルークエリで以下の様なSQL文を発行すると、「''付近に不適切な構文があります」とエラーになります。
SQL: SELECT 伝票 FROM 伝票テーブル
伝票bフ部分を、[伝票]とすれば正常にかえってきます。
また、ビューに を含んでいると、Accessからリンクはできるのですが、参照しようとすると同様のエラーになります。

明確に「列名に は使えない」というような記述があれば、教えていただけますでしょうか。
よろしくお願いします。
忠犬
大ベテラン
会議室デビュー日: 2006/05/01
投稿数: 109
投稿日時: 2008-02-28 19:43
表名や列名などの規則について、記載があります。

http://msdn2.microsoft.com/ja-jp/library/ms175874.aspx

表名や列名が予約語と同じであったり、「_」などを除く特殊記号を含んでいる場合、
標準SQLや主要なRDBMSでは「"」で囲むことで使用可能になります。
SQL Serverでは「"」に加え、ACCESSとの互換のため、[ ] で囲むことも可能になって
います。
くま
会議室デビュー日: 2008/02/28
投稿数: 2
投稿日時: 2008-02-28 20:17
ありがとうございます。
「avを含む列名を今までどおり使おうと思ったら、ビューやクライアント側のプログラムにて、 a@→ [] と書き換えないといけないということですね。
@などの記号だと使えないのだろうなとわかるのですが、「avの場合、全角文字なので大丈夫じゃ?と思ってました。
使える/使えないを調べるには、列名として使ってみるしかないのでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)