SOUNDEX
文字列の Soundex コードを生成します。
- Soundex コードは、1 文字の英字に続く 3 桁の数字で構成されます。TiDB Cloud Lake の実装では 4 桁を超える数字が返されますが、標準的な Soundex コードを取得するには結果に SUBSTR を適用できます。
- 文字列内の英字以外の文字はすべて無視されます。
- A-Z の範囲外にある国際的なアルファベット文字は、先頭文字でない限りすべて無視されます。
関連情報: SOUNDS LIKE
構文
SOUNDEX(<str>)
引数
戻り値の型
VARCHAR 型のコード、または NULL 値を返します。
例
SELECT SOUNDEX('Datalake');
---
D42
-- All non-alphabetic characters in the string are ignored.
SELECT SOUNDEX('Datalake!');;
---
D42
-- All international alphabetic characters outside the A-Z range are ignored unless they're the first letter.
SELECT SOUNDEX('Datalake,你好');
---
D42
SELECT SOUNDEX('你好,Datalake');
---
你342
-- SUBSTR the result to get a standard Soundex code.
SELECT SOUNDEX('Datalake Cloud'),SUBSTR(SOUNDEX('Datalake Cloud'),1,4);
soundex('datalake cloud')|substring(soundex('datalake cloud') from 1 for 4)|
-------------------------+-------------------------------------------------+
D42243 |D422 |
SELECT SOUNDEX(NULL);
+-------------------------------------+
| `SOUNDEX(NULL)` |
+-------------------------------------+
| <null> |
+-------------------------------------+