仕事で注意されて、いままで誤解してたんだ、という
ことがわかったのでメモ。

MySQL 5.1 リファレンスマニュアル :: 8.2.2 識別子の
大文字/小文字区別


 ほとんどOracleしか扱っていなかった私にとって、
表名・カラム名を「MySQLではLinuxの場合には
大文字・小文字を区別する」ことはちょっと
カルチャーショックでした。Oracleはシステムで
大文字として扱いますし、SQLServerはOSが
Windowsなのでやっぱり区別がないですもんね。
MySQLでテーブルが通らない場合、これも調べてみる
必要がありそうです。
(2017/02/06追記:SQLServerの場合は「サーバーの照合順序」に
よって異なります。デフォルトは「Japanese_CI_AS」なので
区別はありませんが、たとえばSQLServer2000からの移行等で
設定を「Japanese_BIN」としている場合にはカラム名・表名の
大文字小文字は区別されます。照合順序に関してはかなり複雑で、
その違いによりDB参照が不可能になることもあるようです。)

 んで、PostgreSQLだとどうなるんだろう、と思い
調べてみると、これはこれでびっくり。大文字が
入ると、ダブルクォートで囲む必要があるんですか。
この対応、Oracleで2バイト文字を扱う場合と同じ
ですね。
PostgreSQLでテーブル名に大文字が含まれる場合の
対処について
(いろいろ備忘録日記)