Mysql
 sql >> Database >  >> RDS >> Mysql

[MySQL]:cos'è il metodo di confronto?

Una stringa in MySQL ha un set di caratteri e un confronto . Utf8 è un set di caratteri e utf8_bin è una delle sue regole di confronto. Le regole di confronto determinano il modo in cui MySQL confronta le stringhe.

Ad esempio, ecco due modi per confrontare una stringa UTF8:

select case when 'test' = 'TEST' collate utf8_bin 
       then 'true' else 'false' end,
       case when 'test' = 'TEST' collate utf8_roman_ci 
       then 'true' else 'false' end

Il primo usa le regole di confronto utf8_bin, che fa distinzione tra maiuscole e minuscole. Il secondo usa utf8_roman_ci, che non fa distinzione tra maiuscole e minuscole.

È possibile trovare un elenco di tutti i set di caratteri e le regole di confronto con:

show character set
show collation

latin1_swedish_ci è il confronto predefinito (MySQL è stato originariamente sviluppato in Svezia), questo vale anche per MariaDB.