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

utf8_binフィールドのMYSQL大文字と小文字を区別する検索

    MySQLの文字列には、文字セットと照合 があります。 。 Utf8は文字セットであり、utf8_binはその照合の1つです。文字列リテラルをutf8列と比較するには、先頭に_charset表記を付けてutf8に変換します。

    _utf8 'Something'
    

    現在、照合は一部の文字セットに対してのみ有効です。ケース-機密 utf8の照合はutf8_binのように見えます。これは、次のように指定できます。

    _utf8 'Something' collate utf8_bin
    

    これらの変換により、クエリは機能するはずです:

    select * from page where pageTitle = _utf8 'Something' collate utf8_bin
    

    _charsetプレフィックスは、文字列リテラルで機能します。フィールドの文字セットを変更するには、CONVERT...USINGがあります。これは、次のように、pageTitleフィールドを別の文字セットに変換する場合に便利です。

    select * from page 
    where convert(pageTitle using latin1) collate latin1_general_cs = 'Something'
    

    'TAB'というテーブルの'col'という名前の列の文字と照合を確認するには、次のようにしてください。

    select distinct collation(col), charset(col) from TAB
    

    すべての文字セットと照合のリストは、次の場所にあります:

    show character set
    show collation
    

    そして、utf8のすべての有効な照合は次の場所で見つけることができます:

    show collation where charset = 'utf8'
    


    1. フィールドリストの不明な列

    2. Python FlaskとMySQLを使用してゼロからWebアプリを作成する:パート5

    3. mysqlデータベースのserializeフィールドから検索するにはどうすればよいですか?

    4. 忙しいデータの人々のための7つの無料のデータベース作図ツール