程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 中若何獲得漢字字段的各漢字首字母

mysql 中若何獲得漢字字段的各漢字首字母

編輯:MySQL綜合教程

mysql 中若何獲得漢字字段的各漢字首字母。本站提示廣大學習愛好者:(mysql 中若何獲得漢字字段的各漢字首字母)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 中若何獲得漢字字段的各漢字首字母正文


DROP FUNCTION IF EXISTS `getPY`; 
DELIMITER ;; 
CREATE FUNCTION `getPY`(in_string VARCHAR(65534)) RETURNS mediumtext CHARSET utf8 
BEGIN 
DECLARE tmp_str VARCHAR(65534) charset gbk DEFAULT '' ; #截取字符串,每次做截取後的字符串寄存在該變量中,初始為函數參數in_string值 
DECLARE tmp_len SMALLINT DEFAULT 0;#tmp_str的長度 
DECLARE tmp_char VARCHAR(2) charset gbk DEFAULT '';#截取字符,每次 left(tmp_str,1) 前往值寄存在該變量中 
DECLARE tmp_rs VARCHAR(65534) charset gbk DEFAULT '';#成果字符串 
DECLARE tmp_cc VARCHAR(2) charset gbk DEFAULT '';#拼音字符,寄存單個漢字對應的拼音首字符 
SET tmp_str = in_string;#初始化,將in_string賦給tmp_str 
SET tmp_len = LENGTH(tmp_str);#初始化長度 
WHILE tmp_len > 0 DO #假如被盤算的tmp_str長度年夜於0則進入該while 
SET tmp_char = LEFT(tmp_str,1);#獲得tmp_str最左真個首個字符,留意這裡是獲得首個字符,該字符能夠是漢字,也能夠不是。 
SET tmp_cc = tmp_char;#左端首個字符賦值給拼音字符 
IF LENGTH(tmp_char)>1 THEN#斷定左端首個字符是多字節照樣單字節字符,如果多字節則以為是漢字且作以下拼音獲得,如果單字節則不處置。 
SELECT ELT(INTERVAL(CONV(HEX(tmp_char),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') INTO tmp_cc; #取得漢字拼音首字符 
END IF; 
SET tmp_rs = CONCAT(tmp_rs,tmp_cc);#將以後tmp_str左端首個字符拼音首字符與前往字符串拼接 
SET tmp_str = SUBSTRING(tmp_str,2);#將tmp_str左端首字符去除 
SET tmp_len = LENGTH(tmp_str);#盤算以後字符串長度 
END WHILE; 
RETURN tmp_rs;#前往成果字符串 
END;; 
DELIMITER ;
�能是一個字符,不指定的話默許是用空格填充
好比

In [15]: '{:>8}'.format('189')
Out[15]: '   189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'

精度與類型f
精度常跟類型f一路應用

In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'

個中.2表現長度為2的精度,f表現float類型。

其他類型
重要就是進制了,b、d、o、x分離是二進制、十進制、八進制、十六進制。

In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'

用,號還能用來做金額的千位分隔符。

In [47]: '{:,}'.format(1234567890)
Out[47]: '1,234,567,890'

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved