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

Gli spazi bianchi finali in varchar devono essere considerati in confronto

Devo presumere che tu stia utilizzando MySQL 5.x perché MySQL 4.x non memorizza spazi finali in una colonna VARCHAR.

Usando lo standard = operatore in MySQL, come hai indicato, gli spazi finali non vengono considerati:

SELECT 'this' = 'this ' restituisce VERO

Tuttavia, LIKE confronta le stringhe carattere per carattere, quindi gli spazi finali sono significativi.

SELECT 'this' LIKE 'this ' restituisce FALSO.

Entrambi = e LIKE potrebbe non fare distinzione tra maiuscole e minuscole, utilizzando le regole di confronto predefinite. Usa COLLATE clausola per specificare le regole di confronto se è necessario confrontarle con distinzione tra maiuscole e minuscole.