爱问知识人 爱问教育 医院库

mysql 自定义函数 如何传入中文参?

首页

mysql 自定义函数 如何传入中文参?

mysql 自定义函数 如何传入中文参数

提交回答

全部答案

    2018-04-02 06:31:07
  •   CREATEFUNCTION`fristPinyin`(P_NAMEVARCHAR(255))RETURNSvarchar(255)CHARSETutf8BEGINDECLAREV_RETURNVARCHAR(255);SETV_RETURN=ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAMEUSINGgbk),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');RETURNV_RETURN;ENDpinyin:此函数是将一个中文字符串对应拼音母的每个相连(例如:"中国人"->ZGR)复制代码代码如下:CREATEFUNCTION`pinyin`(P_NAMEVARCHAR(255))RETURNSvarchar(255)CHARSETutf8BEGINDECLAREV_COMPAREVARCHAR(255);DECLAREV_RETURNVARCHAR(255);DECLAREIINT;SETI=1;SETV_RETURN='';whileIselectp。
      province,fristPinyin(p。province),pinyin(p。province)fromprovincep;+------------------+-------------------------+--------------------+|province|fristPinyin(p。
      province)|pinyin(p。province)|+------------------+-------------------------+--------------------+|北京市|B|BJS||天津市|T|TJS||河北省|H|HBS||山西省|S|SXS||内蒙古自治区|N|NMGZZQ|+------------------+-------------------------+--------------------+5rowsinset###中文看做字符串处理传入即可。
      
    比如创建hello函数,传入'你好'
    mysql> CREATE FUNCTION hello (s CHAR(20))
    mysql> RETURNS CHAR(50) DETERMINISTIC
    -> RETURN CONCAT('Hello, ',s,'!');
    Query OK, 0 rows affected (0。
      00 sec)
    mysql> SELECT hello('你好');
    +----------------+
    | hello('world') |
    +----------------+
    | 你好! |
    +----------------+
    1 row in set (0。
      00 sec)。

    刘***

    2018-04-02 06:31:07

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):