私はmysqlとpostgresqlの両方で動作する必要があるアプリケーションを作成しています。 いくつかの値を比較するにはlike
を使用する必要があります。SQL 'LIKE'構文
mysql LIKE
では大文字と小文字を区別しません。 postgresql LIKE
では大文字と小文字が区別され、ILIKE
では大文字と小文字が区別されません。
マッチで大文字と小文字を区別する必要がある場合に、両方で動作する確実なクエリを作成する最良の方法は何ですか?
PDOにはこれに対する解決策がありますか?
"Q:すべてのスクリプトに大文字と小文字を使用していますか?A:いいえ、ほとんどのスクリプトには大文字と小文字がありません。 (Unicode FAQから)一般的には、小文字を大文字にすることはできません。また、大文字の小文字を1つの大文字にマップすることはできません。大文字のうちのいくつかはUPPER()から2つの文字にマッピングされます。だからlower()はより安全ですが、ちょっとだけです。あなたはユニコードの世界に住んでいるのが好きですか? –
@Catcall:2つの大文字にマップする単一の小文字の良い例は、エキゾチックなドイツ語に由来します: 'UPPER("ß ")'は '' SS '''です。 I18NとL10Nはとても楽しい時間です!特に、JIS、SJIS、EUC、Unicodeの日本語を日本語で読むことができなくても同時に扱っている時(そこにいたことがありましたが、最近はUTF-8がかなり標準的です) –