- - PR -
SQLServer2005にて列名に[]は使えるか
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-28 18:57
SQLServer2000から2005へ移行しようとしています。
2005では、テーブルの列名に は使えないのでしょうか? クライアント側のAccessから、パススルークエリで以下の様なSQL文を発行すると、「''付近に不適切な構文があります」とエラーになります。 SQL: SELECT 伝票 FROM 伝票テーブル 伝票bフ部分を、[伝票]とすれば正常にかえってきます。 また、ビューに を含んでいると、Accessからリンクはできるのですが、参照しようとすると同様のエラーになります。 明確に「列名に は使えない」というような記述があれば、教えていただけますでしょうか。 よろしくお願いします。 |
|
投稿日時: 2008-02-28 19:43
表名や列名などの規則について、記載があります。
http://msdn2.microsoft.com/ja-jp/library/ms175874.aspx 表名や列名が予約語と同じであったり、「_」などを除く特殊記号を含んでいる場合、 標準SQLや主要なRDBMSでは「"」で囲むことで使用可能になります。 SQL Serverでは「"」に加え、ACCESSとの互換のため、[ ] で囲むことも可能になって います。 |
|
投稿日時: 2008-02-28 20:17
ありがとうございます。
「avを含む列名を今までどおり使おうと思ったら、ビューやクライアント側のプログラムにて、 a@→ [] と書き換えないといけないということですね。 @などの記号だと使えないのだろうなとわかるのですが、「avの場合、全角文字なので大丈夫じゃ?と思ってました。 使える/使えないを調べるには、列名として使ってみるしかないのでしょうか。 |
1