SQLでの大文字小文字の区別

投稿日:

今日知ったのですが、
SQLでオブジェクトを""(ダブルコーテーション)で囲んだりすると、
ダブルコーテーション内の文字列をそのまま維持するようになっているようです。
具体的には、"aiueo"と"AiueO"は異なるオブジェクトとして認識され、
上記の形で作成されたオブジェクトはアクセスする際には、ダブルコーテーションで囲ってやる必要があります。

ex)CREATE TABLE "aiueo" .....
SELECT * FROM aiueo; ← これはエラーとなる。

今までそんなこと意識してオブジェクトを作成したり、SQLのコーティングを考えたりしたことは無かったのですが、色々な所の情報を参照すると、意外とメジャーな話題だったみたい。。。
※DBMSによって若干違いはあるようですが、考え方は同一の模様です。

ORACLE MASTER失格だな、こりゃぁ・・・・_| ̄|○




参考URL)
Oracle Technology Network (OTN) Japan - 掲示板 : テーブル列名の大文字小文字の区別
#71 (テーブル名がすべて大文字英字だった場合への対応) - Piece_ORM - Trac