SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【PostgreSQL】カラム名(識別子)の大文字、小文字の区別

引用符が付かない名前は常に小文字に解釈されますが、識別子を引用符で囲むことによって大文字と小文字が区別されるようになります。例えば、識別子FOO、foo、”foo”はPostgreSQLによれば同じものとして解釈されますが、”Foo”と”FOO”は、これら3つとも、またお互いに違ったものとして解釈されます(PostgreSQLが引用符の付かない名前を小文字として解釈することは標準 SQLと互換性がありません。標準SQLでは引用符の付かない名前は大文字に解釈されるべきだとされています。したがって標準SQLによれば、fooは”FOO”と同じであるべきで、”foo”とは異なるはずなのです。もし移植可能なアプリケーションを書きたいならば、特定の名前は常に引用符で囲むか、あるいはまったく囲まないかのいずれかに統一することをお勧めします)。

http://www.postgresql.jp/document/8.4/html/sql-syntax-lexical.html#AEN1230

PostgreSQLでも、カラム名(識別子)の大文字、小文字の区別に関しては、素直に小文字とアンダースコアのみ使っておいたほうが簡単そうです。

標準SQLを少し意識して、大文字とアンダースコアのみに統一するという方針もありですね。

関連するメモ

コメント