SOUNDEX
Sintassi
SOUNDEX(str)
Spiegazione
Restituisce una stringa soundex calcolata a partire da str. Due stringhe che, pronunciate, suonano quasi allo stesso modo, producono identiche stringhe soundex. Una tipica stringa soundex è di quattro caratteri, ma la funzione SOUNDEX() restituisce una stringa di lunghezza arbitraria. E' possibile utilizzare SUBSTRING() sul risultato per ottenere una stringa soundex standard. Tutti i caratteri non alfabetici in str vengono ignorati. Tutti i caratteri alfabetici internazionali fuori dall'intervallo A-Z vengono trattati come vocali.
Importante: Se si utilizza SOUNDEX(), si dovrebbero conoscere le seguenti limitazioni:
- Questa funzione, per come è implementata al momento, funziona bene solo con stringhe in lingua inglese. Le stringhe in altre lingue potrebbero non produrre risultati affidabili.
- Non si garantisce che la funzione restituisca risultati coerenti con le stringhe che utilizzano set di caratteri multi-byte, compreso utf-8.
Speriamo di rimuovere queste limitazioni in una versione futura. Si veda Bug#22638 (http://bugs.mysql.com/22638) per ulteriori informazioni.
Esempi
MariaDB [(none)]> SELECT SOUNDEX('Hello');
+------------------+
| SOUNDEX('Hello') |
+------------------+
| H400 |
+------------------+
MariaDB [(none)]> SELECT SOUNDEX('MariaDB');
+--------------------+
| SOUNDEX('MariaDB') |
+--------------------+
| M631 |
+--------------------+
MariaDB [(none)]> SELECT SOUNDEX('Knowledgebase');
+--------------------------+
| SOUNDEX('Knowledgebase') |
+--------------------------+
| K543212 |
+--------------------------+
MariaDB [test]> SELECT givenname, surname FROM users WHERE SOUNDEX(givenname) = SOUNDEX("robert");
+-----------+---------+
| givenname | surname |
+-----------+---------+
| Roberto | Castro |
+-----------+---------+