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 | +------------+