私はほんの少しのMySQL's gotchasに噛まれているので、かなりのMySQL(5.1)使用の後でPostgres(9.2)に慣れようとしています。しかし、私はヒットは誰も確信している私はits gotchasの一つに走ったのPostgresとの私の最初の5分、中:デフォルトではなぜPostgreSQLはすべて小文字にするのですか?
- 、PostgreSQLは小文字に引用されていないすべてのものに変換します。
明白な回避策のカップルがありますので、これは、私には取引の大きすぎるではありません。
- は、引用符内のすべてをカプセル化します。
- すべてに小文字で名前を付けることを許可します。
しかし、なぜ私は不思議に思っています。この設計上の決定がどれほどの競合を抱いているかを考えてみると、私はインターネット上で何の根拠も見つけられなかったことに驚いています。 Postgresがこのように設計された理由について、誰かが徹底的な説明、またはいくつかの開発者マニフェストへのリンクを持っていますか?興味ある。
これについてお尋ねしますか? http://stackoverflow.com/questions/153944/is-sql-syntax-case-sensitive?rq=1 –
AFAIKでは、引用符で囲まれていない識別子は大文字に変換され、[PostgreSQLは小文字に変換されます](http ://stackoverflow.com/a/8736088/479863)をご覧ください。大文字または小文字に折りたたむことは、あなたの識別子だけを引用している場合を除いて重要ではありません。しかし、あなたがそれをしているなら、あなたが得るものに値するでしょう。あなたは 'テーブルパンケーキ(...)'と 'select * from Pancakes'を作成することを歓迎しています。パンケーキ"(...)を作成せずに、パンケーキから "*選択しようとしてください。 MySQLの人々は、すべての言い回しを引用するこの奇妙な習慣を持っているように見えます。その習慣を失います。 –
@muistooshort私は、大文字小文字を大文字小文字にする必要があるかどうかをSQL仕様で指定していないと主張してきました。あなたは特にそれが大文字に折りたたまれるように指定されているか知っていますか? (私は参考文献を探していますが、現時点ではそれほど有用ではないことが分かりません)。 –