SQL中における[フィールド名]の意味

解決


ラッキーマン  2007-11-27 09:30:11  No: 99825  IP: 192.*.*.*

他人が作成したデータベースプログラムを解析していますが、SQL中にフィールド名を[]で囲った物とそうでない物があります。

select name, address from ...

select [name], [address] from ...

と言う具合ですが、これらの違いは何でしょうか。

編集 削除
ささき  2007-11-27 11:07:35  No: 99826  IP: 192.*.*.*

ソースの中にあるのでしょうか?
単なる強調の意味でなければ、
実際に動かしてみて差分を確認するところは自分で出来るはずですので
そこから始められては?

編集 削除
魔界の仮面弁士  2007-11-27 11:17:45  No: 99827  IP: 192.*.*.*

*.mdb や *.accdb の事だとすれば、列名やテーブル名は、
[ ] で囲むのが正式な構文です。

通常、[ ] 自体は省略可能ですが、空白を含む名前や
予約語(No とか update とか)を使った名前の場合は、
[ ] で囲んで指定する必要があります。

編集 削除
Hirobo-Macros  2007-11-27 13:07:15  No: 99828  IP: 192.*.*.*

Accessだと
selectという項目を作りSQLでselect select from ...と
selectを選択しようとした場合、エラーでますよ

編集 削除
ラッキーマン  2007-11-28 02:09:11  No: 99829  IP: 192.*.*.*

皆様、ありがとうございます。

[]を取ったり外したりして検証できる技術があればいいのですが、テーブルが複雑に関係しあっており、どこにどんな影響が出るのか現段階ではよく分からない状況でしたので、手を出せませんでした。

その上、同じコード(*.bas)中に双方の記法が混在していることも疑問に輪をかけていました。

ともあれ、[]有りが正しい記法との事で、検証を進めたいと思います。

編集 削除