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