sql >> データベース >  >> RDS >> Sqlserver

Postgresの大文字と小文字の区別

    PostgreSQLでは、引用符で囲まれていない名前は大文字と小文字を区別しません。したがって、SELECT * FROM hello およびSELECT * FROM HELLO 同等です。

    ただし、引用符で囲まれた名前では大文字と小文字が区別されます。 SELECT * FROM "hello" ではありません SELECT * FROM "HELLO"と同等 。

    引用符で囲まれた名前と引用符で囲まれていない名前の間に「ブリッジ」を作成するために、引用符で囲まれていない名前は暗黙的に小文字になります。したがって、helloHELLO およびHeLLo "hello"と同等です 、ただし"HELLO"ではありません または"HeLLo" (おっと!)。

    したがって、作成時 PostgreSQLのエンティティ(テーブル、ビュー、プロシージャなど)は、引用符で囲まれていないか、引用符で囲まれているが小文字で指定する必要があります。

    既存のテーブル/ビューなどを変換するには、ALTER TABLE "FOO" RENAME TO "foo"のようなものを使用できます。 。

    または、MSSQLからのダンプを「PostgreSQL互換」に変更してみてください(fooが含まれるようにします)。 sまたは"foo" sただし、"FOO"ではありません s)。

    • ダンプファイルを明示的に編集する。 (Linuxを使用している場合は、sed -r 's/"[^"]+"/\L\0/g' dumpfileを実行できます。 —ただし、このコマンドは文字列リテラルのテキストも変更する可能性があることに注意してください。)
    • または、MSSQLからダンプを取得するときにいくつかのオプションを指定します。 (MSSQLにそのようなオプションがあるかどうかはわかりませんが、使用したことはありませんが、おそらくそのようなオプションは存在するはずです。)



    1. MySQLまたはMariaDBGaleraクラスターでレプリケーションパフォーマンスを向上させる方法

    2. SQLiteで月末を返す

    3. PDOException「ドライバーが見つかりませんでした」

    4. MySQL:コンマで区切られた単一行としての複数行