MySQL user-defined functions for converting Chinese characters to Pinyin and examples (first letter)

Source: Internet
Author: User

FristPinyin: This function is used to convert the first Chinese character of a Chinese string into a pinyin letter (for example, "Chinese"-> Z)
Copy codeThe Code is as follows:
Create function 'fristpinin' (P_NAME VARCHAR (255) RETURNS varchar (255) CHARSET utf8
BEGIN
DECLARE V_RETURN VARCHAR (255 );
SET V_RETURN = ELT (INTERVAL (CONV (HEX (left (CONVERT (P_NAME USING gbk), 1), 16,10 ),
0xB0A1, 0xB0C5, 0xB2C1, 0xB4EE, 0xB6EA, 0xB7A2, 0xB8C1, 0xB9FE, 0xBBF7,
0xBFA6, 0xC0AC, 0xC2E8, 0xC4C3, 0xC5B6, 0xC5BE, 0xC6DA, 0xC8BB,
0xC8F6, 0 xCBFA, 0 xCDDA, 0xCEF4, 0xD1B9, 0xD4D1 ),
'A', 'B', 'C', 'D', 'E', 'E', 'F', 'G', 'h', 'J', 'k ', 'l', 'M', 'n', 'O', 'P', 'Q', 'R', 's', 't', 'w ', 'X', 'y', 'z ');
RETURN V_RETURN;
END
Pinyin: This function connects each Chinese character string corresponding to the pinyin mother (for example, "Chinese"-> ZGR)
Copy codeThe Code is as follows:
Create function 'pinin' (P_NAME VARCHAR (255) RETURNS varchar (255) CHARSET utf8
BEGIN
DECLARE V_COMPARE VARCHAR (255 );
DECLARE V_RETURN VARCHAR (255 );
Declare I INT;

Set I = 1;
SET V_RETURN = '';
While I <LENGTH (P_NAME) do
SET V_COMPARE = SUBSTR (P_NAME, I, 1 );
IF (V_COMPARE! = '') THEN
# SET V_RETURN = CONCAT (V_RETURN, ',', V_COMPARE );
SET V_RETURN = CONCAT (V_RETURN, fristPinyin (V_COMPARE ));
# SET V_RETURN = fristPinyin (V_COMPARE );
End if;
Set I = I + 1;
End while;

IF (ISNULL (V_RETURN) or V_RETURN = '') THEN
SET V_RETURN = P_NAME;
End if;

RETURN V_RETURN;
END
Example:
Copy codeThe Code is as follows:
Mysql> select p. province, fristPinyin (p. province), pinyin (p. province) from province p;
+ ------------------ + ------------------------- + -------------------- +
| Province | fristPinyin (p. province) | pinyin (p. province) |
+ ------------------ + ------------------------- + -------------------- +
| Beijing | B | BJS |
| Tianjin | T | TJS |
| Hebei Province | H | Harvard |
| Shanxi Province | S | SXS |
| Inner Mongolia | N | NMGZZQ |
+ ------------------ + ------------------------- + -------------------- +
5 rows in set

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.