Muszę założyć, że używasz MySQL 5.x, ponieważ MySQL 4.x nie przechowuje spacji końcowych w kolumnie VARCHAR.
Korzystanie ze standardowego =
operator w MySQL, jak wskazałeś, końcowe spacje nie są brane pod uwagę:
SELECT 'this' = 'this '
zwraca PRAWDA
Jednak LIKE
porównuje ciągi znak po znaku, więc końcowe spacje są znaczące.
SELECT 'this' LIKE 'this '
zwraca FAŁSZ.
Oba =
i LIKE
może nie uwzględniać wielkości liter, używając domyślnego sortowania. Użyj COLLATE
klauzulę, aby określić sortowanie, jeśli chcesz je porównać z uwzględnieniem wielkości liter.