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'