V MySQL můžete použít SOUNDS LIKE operátor vrátí výsledky, které zní jako dané slovo.
Tento operátor funguje nejlépe na řetězcích v angličtině (jeho použití s jinými jazyky může vrátit nespolehlivé výsledky).
Syntaxe
Syntaxe vypadá takto:
expr1 SOUNDS LIKE expr2
Kde expr1 a expr2 jsou porovnávané vstupní řetězce.
Tento operátor je ekvivalentem provedení následujícího:
SOUNDEX(expr1) = SOUNDEX(expr2)
Příklad 1 – Základní použití
Zde je příklad použití tohoto operátoru v SELECT prohlášení:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Výsledek:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
V tomto případě je návratová hodnota 1 což znamená, že dva vstupní řetězce znějí stejně.
Zde je návod, co se stane, pokud vstupní řetězce není zní podobně:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Výsledek:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Příklad 2 – ve srovnání s SOUNDEX()
Zde je to porovnáno s SOUNDEX() :
SELECT
'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE',
SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()'; Výsledek:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Příklad 3 – Příklad databáze
Zde je příklad toho, jak můžeme tento operátor použít v databázovém dotazu:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Výsledek:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
A zde je to pomocí SOUNDEX() :
SELECT ArtistName FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci'); Výsledek:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+