I MySQL kan du använda SOUNDS LIKE
operatör för att returnera resultat som låter som ett givet ord.
Den här operatorn fungerar bäst på strängar på engelska (att använda den med andra språk kan ge opålitliga resultat).
Syntax
Syntaxen ser ut så här:
expr1 SOUNDS LIKE expr2
Där expr1
och expr2
är inmatningssträngarna som jämförs.
Denna operatör motsvarar att göra följande:
SOUNDEX(expr1) = SOUNDEX(expr2)
Exempel 1 – Grundläggande användning
Här är ett exempel på hur du använder den här operatorn i en SELECT
uttalande:
SELECT 'Damn' SOUNDS LIKE 'Dam';
Resultat:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
I det här fallet är returvärdet 1
vilket betyder att de två ingångssträngarna låter likadana.
Här är vad som händer om inmatningssträngarna inte gör det låter likadant:
SELECT 'Damn' SOUNDS LIKE 'Cat';
Resultat:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
Exempel 2 – Jämfört med SOUNDEX()
Här jämförs det med SOUNDEX()
:
SELECT 'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE', SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()';
Resultat:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
Exempel 3 – Ett databasexempel
Här är ett exempel på hur vi kan använda den här operatorn i en databasfråga:
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
Resultat:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
Och här använder den SOUNDEX()
:
SELECT ArtistName FROM Artists WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');
Resultat:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+