MSSQL 获取汉字的首拼音 MYSQL 获取汉字的首拼音
来源:互联网 发布:淘宝网 情侣装 编辑:程序博客网 时间:2024/05/04 18:13
-- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/*获取汉字的首拼音*/create function [dbo].[fun_getPY] ( @str nvarchar(4000) ) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 then ( select top 1 PY from ( select 'A' as PY,N'驁' as word union all select 'B',N'簿' union all select 'C',N'錯' union all select 'D',N'鵽' union all select 'E',N'樲' union all select 'F',N'鰒' union all select 'G',N'腂' union all select 'H',N'夻' union all select 'J',N'攈' union all select 'K',N'穒' union all select 'L',N'鱳' union all select 'M',N'旀' union all select 'N',N'桛' union all select 'O',N'漚' union all select 'P',N'曝' union all select 'Q',N'囕' union all select 'R',N'鶸' union all select 'S',N'蜶' union all select 'T',N'籜' union all select 'W',N'鶩' union all select 'X',N'鑂' union all select 'Y',N'韻' union all select 'Z',N'咗' ) T where word>=@word collate Chinese_PRC_CS_AS_KS_WS order by PY ASC ) else @word end) set @str=right(@str,len(@str)-1) end return upper(@PY)endGO-- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- -- MSSQL -- -- -- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- -- -- 1 DELIMITER $$USE `dsp_ad_center`$$DROP FUNCTION IF EXISTS `fristPinyin`$$CREATE DEFINER=`root`@`%` FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS VARCHAR(255) CHARSET utf8BEGIN 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,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1), 'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z'); RETURN V_RETURN; END$$DELIMITER ;-- 2.DELIMITER $$USE `dsp_ad_center`$$DROP FUNCTION IF EXISTS `pinyin`$$CREATE DEFINER=`root`@`%` FUNCTION `pinyin`(P_NAME VARCHAR(255)) RETURNS VARCHAR(255) CHARSET utf8BEGIN DECLARE V_COMPARE VARCHAR(255); DECLARE V_RETURN VARCHAR(255); DECLARE I INT; SET I = 1; SET V_RETURN = ''; WHILE I < LENGTH(P_NAME) DOSET 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 = '') THENSET V_RETURN = P_NAME; END IF; RETURN V_RETURN; END$$DELIMITER ;-- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- -- -- MYSQL -- --
0 0
- MSSQL 获取汉字的首拼音 MYSQL 获取汉字的首拼音
- 获取汉字的拼音
- mysql获取汉字拼音
- MYSQL 获取每个汉字的拼音首字母
- MySQL获取汉字的拼音首字母
- 获取汉字的拼音首字母
- 获取汉字的拼音首字母
- 获取汉字的拼音首字母
- 获取汉字的拼音首字母
- 如何获取汉字的拼音
- 获取汉字的拼音首字母
- 获取汉字的拼音索引
- 获取汉字的拼音首字母
- python获取汉字的拼音
- 获取汉字的首字母拼音
- java获取汉字的拼音
- iOS 获取汉字的拼音
- php获取汉字首拼音
- VS2010如何调试动态库
- 栈的应用---平衡符号的检测
- Android FrameWork音频管理AudioManager的一点解析(续二)
- iOS 编译错误
- 数据结构心得
- MSSQL 获取汉字的首拼音 MYSQL 获取汉字的首拼音
- C++虚析构函数、纯虚析构函数
- Jmeter自动化测试
- 普里姆算法求最小生成树
- Intent使用Component
- Oracle 内联视图优化,视图合并的抉择
- Java线程(三)-线程栈模型与线程的变量
- 构造函数为什么不能是虚函数
- MATLAB图像处理_学习笔记