日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程

發(fā)布時(shí)間:2025/3/11 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

《Mysql應(yīng)用MySQL查詢漢字的拼音首字母實(shí)例教程》要點(diǎn):

本文介紹了Mysql應(yīng)用MySQL查詢漢字的拼音首字母實(shí)例教程,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。

導(dǎo)讀:最好的方法還是用 PHP 來取拼音首字母,在 MySQL 里新建一個(gè)字段來存放php 里查詢漢字的拼音首字母已經(jīng)有很多參考的代碼了.現(xiàn)在給出...

MYSQL數(shù)據(jù)庫(kù)最好的方法還是用 PHP 來取拼音首字母,在 MySQL 里新建一個(gè)字段來存放

php 里查詢漢字的拼音首字母已經(jīng)有很多參考的代碼了.

現(xiàn)在給出在mysql 里實(shí)現(xiàn)的, 測(cè)試環(huán)境是mysql-5.0.27-win32

MYSQL數(shù)據(jù)庫(kù)1、建立拼音首字母資料表

MYSQL數(shù)據(jù)庫(kù)DROP TABLE IF EXISTS `pyk`;

CREATE TABLE `pyk` (

`PY` varchar(1) ,

`HZ1` int ,

`HZ2` int

) ;

MYSQL數(shù)據(jù)庫(kù)INSERT INTO `pyk` (`PY`,`HZ1`,`HZ2`) VALUES

('A',-20319,-20284),

('B',-20283,-19776),

('C',-19775,-19219),

('D',-19218,-18711),

('E',-18710,-18527),

('F',-18526,-18240),

('G',-18239,-17923),

('H',-17922,-17418),

('J',-17417,-16475),

('K',-16474,-16213),

('L',-16212,-15641),

('M',-15640,-15166),

('N',-15165,-14923),

('O',-14922,-14915),

('P',-14914,-14631),

('Q',-14630,-14150),

('R',-14149,-14091),

('S',-14090,-13319),

('T',-13318,-12839),

('W',-12838,-12557),

('X',-12556,-11848),

('Y',-11847,-11056),

('Z',-11055,-10247);

MYSQL數(shù)據(jù)庫(kù)2、建立mysql 函數(shù)

MYSQL數(shù)據(jù)庫(kù)DROP FUNCTION IF EXISTS hzcode;

MYSQL數(shù)據(jù)庫(kù)delimiter //

MYSQL數(shù)據(jù)庫(kù)CREATE FUNCTION hzcode (s CHAR(255)) RETURNS char

BEGIN

DECLARE hz_code int;

DECLARE hz_py char;

SET hz_code = ord(substring(s,1,1))*256+ord(substring(s,2,1))-65536 ;

select py into hz_py from pyk where hz_code>=pyk.hz1 and hz_code<=pyk

.hz2;

RETURN hz_py;

END

//

MYSQL數(shù)據(jù)庫(kù)delimiter ;

數(shù) 據(jù)庫(kù)類型如果是GBK的時(shí)候,這個(gè)函數(shù)好像有點(diǎn)小問題,稍微改動(dòng)了下,貌似可以在GBK中使用了

MYSQL數(shù)據(jù)庫(kù)delimiter $$

DROP FUNCTION IF EXISTS `hzcode`$$

CREATE FUNCTION `hzcode` (s CHAR(255)) RETURNS char

BEGIN

DECLARE hz_code int;

DECLARE hz_py char;

declare str varchar(400);

SET hz_code = ord(substring(s,1,1))-65536 ;

select py into hz_py from pyk where hz_code>=pyk.hz1 and hz_code<=pyk.hz2;

RETURN hz_py;

MYSQL數(shù)據(jù)庫(kù)END$$

delimiter $$

MYSQL數(shù)據(jù)庫(kù)3、測(cè)試

mysql> select hzcode('南海龍王');

+--------------------+

| hzcode('南海龍王') |

+--------------------+

| N |

+--------------------+

1 row in set (0.00 sec)

MYSQL數(shù)據(jù)庫(kù)4、建立個(gè)測(cè)試表

MYSQL數(shù)據(jù)庫(kù)DROP TABLE IF EXISTS `f1`;

create table f1 (

name varchar(30),

pykey varchar(1)

);

MYSQL數(shù)據(jù)庫(kù)insert into f1(name) values

('張三'),

('李四'),

('王五'),

('趙六'),

('錢七');

MYSQL數(shù)據(jù)庫(kù)5、測(cè)試

MYSQL數(shù)據(jù)庫(kù)mysql> select * from f1;

+------+-------+

| name | pykey |

+------+-------+

| 張三 | NULL |

| 李四 | NULL |

| 王五 | NULL |

| 趙六 | NULL |

| 錢七 | NULL |

+------+-------+

5 rows in set (0.00 sec)

MYSQL數(shù)據(jù)庫(kù)mysql> update f1 set pykey = hzcode(name);

Query OK, 5 rows affected (0.05 sec)

Rows matched: 5 Changed: 5 Warnings: 0

MYSQL數(shù)據(jù)庫(kù)mysql> select * from f1;

+------+-------+

| name | pykey |

+------+-------+

| 張三 | Z |

| 李四 | L |

| 王五 | W |

| 趙六 | Z |

| 錢七 | Q |

+------+-------+

5 rows in set (0.00 sec)

MYSQL數(shù)據(jù)庫(kù)這樣就很方便地在MYSQL里查詢漢字的首字母了. 類似地也可以直接在MYSQL得到漢字拼音. 不過需要拼音表,函數(shù)寫法也不一樣.

總結(jié)

以上是生活随笔為你收集整理的php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。