sql >> Databáze >  >> RDS >> Mysql

mysql dotaz s podobným %..% v klauzuli where vrací různé výsledky

Měli byste převést uživatelský vstup, neexistuje žádná funkce LOOKS LIKE v MySQL :)

Přepsaný řetězec můžete uložit spolu s původním řetězcem a použít php::translit jak to udělat:

id data    trans_data
1  Москва  MOSKVA
2  София   SOFIA
SELECT  *
FROM    table
WHERE   trans_data LIKE CONCAT('%', ?, '%')

mysqli->bind_param('s', strtoupper(transliterate('Москва')));


  1. Optimalizujte dotaz s pomalým hodnocením

  2. Jak RLIKE funguje v MariaDB

  3. Jak přidat collate do dotazu laravel

  4. Jak zobrazit záznamy vertikálně v příkazovém řádku mysql?