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

解決


ラッキーマン  2007-11-27 18:30:11  No: 99825

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

select name, address from ...

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

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


ささき  2007-11-27 20:07:35  No: 99826

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


魔界の仮面弁士  2007-11-27 20:17:45  No: 99827

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

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


Hirobo-Macros  2007-11-27 22:07:15  No: 99828

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


ラッキーマン  2007-11-28 11:09:11  No: 99829

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

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加