MySQL中实现中文转拼音

打印 上一主题 下一主题

主题 993|帖子 993|积分 2979

前言:

今天有个业务需求,需要将用户的密码统一进行设置,现在只有用户的昵称(nickname),
用户的username跟password字段为空。遂就用到了中文转拼音~
1、先将nickname转拼音并赋值给username字段
2、使用username字段配合加密函数,对该用户的密码进行赋值
  1. -- 加密-按照用户名进行加密
  2. select  HEX(AES_ENCRYPT('123456','admin'))
  3. -- 解密-按照用户名进行解密
  4. SELECT AES_DECRYPT(UNHEX("F8833383029D93ACBD66F6C8D81602DD"),'admin')
复制代码
一、创建拼音对照表
  1. -- 创建汉字拼音对照临时表
  2. CREATE TABLE IF NOT EXISTS `t_base_pinyin` (
  3.   `pin_yin_` varchar(255) CHARACTER SET gbk NOT NULL,
  4.   `code_` int(11) NOT NULL,
  5.   PRIMARY KEY (`code_`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
复制代码
二、插入对照数据

  1. -- 插入数据
  2. INSERT INTO t_base_pinyin ( pin_yin_, code_ ) 
  3. VALUES
  4.     ( "a", 20319 ),(
  5.         "ai",
  6.         20317
  7.         ),(
  8.         "an",
  9.         20304
  10.         ),(
  11.         "ang",
  12.         20295
  13.         ),(
  14.         "ao",
  15.         20292
  16.         ),(
  17.         "ba",
  18.         20283
  19.         ),(
  20.         "bai",
  21.         20265
  22.         ),(
  23.         "ban",
  24.         20257
  25.         ),(
  26.         "bang",
  27.         20242
  28.         ),(
  29.         "bao",
  30.         20230
  31.         ),(
  32.         "bei",
  33.         20051
  34.         ),(
  35.         "ben",
  36.         20036
  37.         ),(
  38.         "beng",
  39.         20032
  40.         ),(
  41.         "bi",
  42.         20026
  43.         ),(
  44.         "bian",
  45.         20002
  46.         ),(
  47.         "biao",
  48.         19990
  49.         ),(
  50.         "bie",
  51.         19986
  52.         ),(
  53.         "bin",
  54.         19982
  55.         ),(
  56.         "bing",
  57.         19976
  58.         ),(
  59.         "bo",
  60.         19805
  61.         ),(
  62.         "bu",
  63.         19784
  64.         ),(
  65.         "ca",
  66.         19775
  67.         ),(
  68.         "cai",
  69.         19774
  70.         ),(
  71.         "can",
  72.         19763
  73.         ),(
  74.         "cang",
  75.         19756
  76.         ),(
  77.         "cao",
  78.         19751
  79.         ),(
  80.         "ce",
  81.         19746
  82.         ),(
  83.         "ceng",
  84.         19741
  85.         ),(
  86.         "cha",
  87.         19739
  88.         ),(
  89.         "chai",
  90.         19728
  91.         ),(
  92.         "chan",
  93.         19725
  94.         ),(
  95.         "chang",
  96.         19715
  97.         ),(
  98.         "chao",
  99.         19540
  100.         ),(
  101.         "che",
  102.         19531
  103.         ),(
  104.         "chen",
  105.         19525
  106.         ),(
  107.         "cheng",
  108.         19515
  109.         ),(
  110.         "chi",
  111.         19500
  112.         ),(
  113.         "chong",
  114.         19484
  115.         ),(
  116.         "chou",
  117.         19479
  118.         ),(
  119.         "chu",
  120.         19467
  121.         ),(
  122.         "chuai",
  123.         19289
  124.         ),(
  125.         "chuan",
  126.         19288
  127.         ),(
  128.         "chuang",
  129.         19281
  130.         ),(
  131.         "chui",
  132.         19275
  133.         ),(
  134.         "chun",
  135.         19270
  136.         ),(
  137.         "chuo",
  138.         19263
  139.         ),(
  140.         "ci",
  141.         19261
  142.         ),(
  143.         "cong",
  144.         19249
  145.         ),(
  146.         "cou",
  147.         19243
  148.         ),(
  149.         "cu",
  150.         19242
  151.         ),(
  152.         "cuan",
  153.         19238
  154.         ),(
  155.         "cui",
  156.         19235
  157.         ),(
  158.         "cun",
  159.         19227
  160.         ),(
  161.         "cuo",
  162.         19224
  163.         ),(
  164.         "da",
  165.         19218
  166.         ),(
  167.         "dai",
  168.         19212
  169.         ),(
  170.         "dan",
  171.         19038
  172.         ),(
  173.         "dang",
  174.         19023
  175.         ),(
  176.         "dao",
  177.         19018
  178.         ),(
  179.         "de",
  180.         19006
  181.         ),(
  182.         "deng",
  183.         19003
  184.         ),(
  185.         "di",
  186.         18996
  187.         ),(
  188.         "dian",
  189.         18977
  190.         ),(
  191.         "diao",
  192.         18961
  193.         ),(
  194.         "die",
  195.         18952
  196.         ),(
  197.         "ding",
  198.         18783
  199.         ),(
  200.         "diu",
  201.         18774
  202.         ),(
  203.         "dong",
  204.         18773
  205.         ),(
  206.         "dou",
  207.         18763
  208.         ),(
  209.         "du",
  210.         18756
  211.         ),(
  212.         "duan",
  213.         18741
  214.         ),(
  215.         "dui",
  216.         18735
  217.         ),(
  218.         "dun",
  219.         18731
  220.         ),(
  221.         "duo",
  222.         18722
  223.         ),(
  224.         "e",
  225.         18710
  226.         ),(
  227.         "en",
  228.         18697
  229.         ),(
  230.         "er",
  231.         18696
  232.         ),(
  233.         "fa",
  234.         18526
  235.         ),(
  236.         "fan",
  237.         18518
  238.         ),(
  239.         "fang",
  240.         18501
  241.         ),(
  242.         "fei",
  243.         18490
  244.         ),(
  245.         "fen",
  246.         18478
  247.         ),(
  248.         "feng",
  249.         18463
  250.         ),(
  251.         "fo",
  252.         18448
  253.         ),(
  254.         "fou",
  255.         18447
  256.         ),(
  257.         "fu",
  258.         18446
  259.         ),(
  260.         "ga",
  261.         18239
  262.         ),(
  263.         "gai",
  264.         18237
  265.         ),(
  266.         "gan",
  267.         18231
  268.         ),(
  269.         "gang",
  270.         18220
  271.         ),(
  272.         "gao",
  273.         18211
  274.         ),(
  275.         "ge",
  276.         18201
  277.         ),(
  278.         "gei",
  279.         18184
  280.         ),(
  281.         "gen",
  282.         18183
  283.         ),(
  284.         "geng",
  285.         18181
  286.         ),(
  287.         "gong",
  288.         18012
  289.         ),(
  290.         "gou",
  291.         17997
  292.         ),(
  293.         "gu",
  294.         17988
  295.         ),(
  296.         "gua",
  297.         17970
  298.         ),(
  299.         "guai",
  300.         17964
  301.         ),(
  302.         "guan",
  303.         17961
  304.         ),(
  305.         "guang",
  306.         17950
  307.         ),(
  308.         "gui",
  309.         17947
  310.         ),(
  311.         "gun",
  312.         17931
  313.         ),(
  314.         "guo",
  315.         17928
  316.         ),(
  317.         "ha",
  318.         17922
  319.         ),(
  320.         "hai",
  321.         17759
  322.         ),(
  323.         "han",
  324.         17752
  325.         ),(
  326.         "hang",
  327.         17733
  328.         ),(
  329.         "hao",
  330.         17730
  331.         ),(
  332.         "he",
  333.         17721
  334.         ),(
  335.         "hei",
  336.         17703
  337.         ),(
  338.         "hen",
  339.         17701
  340.         ),(
  341.         "heng",
  342.         17697
  343.         ),(
  344.         "hong",
  345.         17692
  346.         ),(
  347.         "hou",
  348.         17683
  349.         ),(
  350.         "hu",
  351.         17676
  352.         ),(
  353.         "hua",
  354.         17496
  355.         ),(
  356.         "huai",
  357.         17487
  358.         ),(
  359.         "huan",
  360.         17482
  361.         ),(
  362.         "huang",
  363.         17468
  364.         ),(
  365.         "hui",
  366.         17454
  367.         ),(
  368.         "hun",
  369.         17433
  370.         ),(
  371.         "huo",
  372.         17427
  373.         ),(
  374.         "ji",
  375.         17417
  376.         ),(
  377.         "jia",
  378.         17202
  379.         ),(
  380.         "jian",
  381.         17185
  382.         ),(
  383.         "jiang",
  384.         16983
  385.         ),(
  386.         "jiao",
  387.         16970
  388.         ),(
  389.         "jie",
  390.         16942
  391.         ),(
  392.         "jin",
  393.         16915
  394.         ),(
  395.         "jing",
  396.         16733
  397.         ),(
  398.         "jiong",
  399.         16708
  400.         ),(
  401.         "jiu",
  402.         16706
  403.         ),(
  404.         "ju",
  405.         16689
  406.         ),(
  407.         "juan",
  408.         16664
  409.         ),(
  410.         "jue",
  411.         16657
  412.         ),(
  413.         "jun",
  414.         16647
  415.         ),(
  416.         "ka",
  417.         16474
  418.         ),(
  419.         "kai",
  420.         16470
  421.         ),(
  422.         "kan",
  423.         16465
  424.         ),(
  425.         "kang",
  426.         16459
  427.         ),(
  428.         "kao",
  429.         16452
  430.         ),(
  431.         "ke",
  432.         16448
  433.         ),(
  434.         "ken",
  435.         16433
  436.         ),(
  437.         "keng",
  438.         16429
  439.         ),(
  440.         "kong",
  441.         16427
  442.         ),(
  443.         "kou",
  444.         16423
  445.         ),(
  446.         "ku",
  447.         16419
  448.         ),(
  449.         "kua",
  450.         16412
  451.         ),(
  452.         "kuai",
  453.         16407
  454.         ),(
  455.         "kuan",
  456.         16403
  457.         ),(
  458.         "kuang",
  459.         16401
  460.         ),(
  461.         "kui",
  462.         16393
  463.         ),(
  464.         "kun",
  465.         16220
  466.         ),(
  467.         "kuo",
  468.         16216
  469.         ),(
  470.         "la",
  471.         16212
  472.         ),(
  473.         "lai",
  474.         16205
  475.         ),(
  476.         "lan",
  477.         16202
  478.         ),(
  479.         "lang",
  480.         16187
  481.         ),(
  482.         "lao",
  483.         16180
  484.         ),(
  485.         "le",
  486.         16171
  487.         ),(
  488.         "lei",
  489.         16169
  490.         ),(
  491.         "leng",
  492.         16158
  493.         ),(
  494.         "li",
  495.         16155
  496.         ),(
  497.         "lia",
  498.         15959
  499.         ),(
  500.         "lian",
  501.         15958
  502.         ),(
  503.         "liang",
  504.         15944
  505.         ),(
  506.         "liao",
  507.         15933
  508.         ),(
  509.         "lie",
  510.         15920
  511.         ),(
  512.         "lin",
  513.         15915
  514.         ),(
  515.         "ling",
  516.         15903
  517.         ),(
  518.         "liu",
  519.         15889
  520.         ),(
  521.         "long",
  522.         15878
  523.         ),(
  524.         "lou",
  525.         15707
  526.         ),(
  527.         "lu",
  528.         15701
  529.         ),(
  530.         "lv",
  531.         15681
  532.         ),(
  533.         "luan",
  534.         15667
  535.         ),(
  536.         "lue",
  537.         15661
  538.         ),(
  539.         "lun",
  540.         15659
  541.         ),(
  542.         "luo",
  543.         15652
  544.         ),(
  545.         "ma",
  546.         15640
  547.         ),(
  548.         "mai",
  549.         15631
  550.         ),(
  551.         "man",
  552.         15625
  553.         ),(
  554.         "mang",
  555.         15454
  556.         ),(
  557.         "mao",
  558.         15448
  559.         ),(
  560.         "me",
  561.         15436
  562.         ),(
  563.         "mei",
  564.         15435
  565.         ),(
  566.         "men",
  567.         15419
  568.         ),(
  569.         "meng",
  570.         15416
  571.         ),(
  572.         "mi",
  573.         15408
  574.         ),(
  575.         "mian",
  576.         15394
  577.         ),(
  578.         "miao",
  579.         15385
  580.         ),(
  581.         "mie",
  582.         15377
  583.         ),(
  584.         "min",
  585.         15375
  586.         ),(
  587.         "ming",
  588.         15369
  589.         ),(
  590.         "miu",
  591.         15363
  592.         ),(
  593.         "mo",
  594.         15362
  595.         ),(
  596.         "mou",
  597.         15183
  598.         ),(
  599.         "mu",
  600.         15180
  601.         ),(
  602.         "na",
  603.         15165
  604.         ),(
  605.         "nai",
  606.         15158
  607.         ),(
  608.         "nan",
  609.         15153
  610.         ),(
  611.         "nang",
  612.         15150
  613.         ),(
  614.         "nao",
  615.         15149
  616.         ),(
  617.         "ne",
  618.         15144
  619.         ),(
  620.         "nei",
  621.         15143
  622.         ),(
  623.         "nen",
  624.         15141
  625.         ),(
  626.         "neng",
  627.         15140
  628.         ),(
  629.         "ni",
  630.         15139
  631.         ),(
  632.         "nian",
  633.         15128
  634.         ),(
  635.         "niang",
  636.         15121
  637.         ),(
  638.         "niao",
  639.         15119
  640.         ),(
  641.         "nie",
  642.         15117
  643.         ),(
  644.         "nin",
  645.         15110
  646.         ),(
  647.         "ning",
  648.         15109
  649.         ),(
  650.         "niu",
  651.         14941
  652.         ),(
  653.         "nong",
  654.         14937
  655.         ),(
  656.         "nu",
  657.         14933
  658.         ),(
  659.         "nv",
  660.         14930
  661.         ),(
  662.         "nuan",
  663.         14929
  664.         ),(
  665.         "nue",
  666.         14928
  667.         ),(
  668.         "nuo",
  669.         14926
  670.         ),(
  671.         "o",
  672.         14922
  673.         ),(
  674.         "ou",
  675.         14921
  676.         ),(
  677.         "pa",
  678.         14914
  679.         ),(
  680.         "pai",
  681.         14908
  682.         ),(
  683.         "pan",
  684.         14902
  685.         ),(
  686.         "pang",
  687.         14894
  688.         ),(
  689.         "pao",
  690.         14889
  691.         ),(
  692.         "pei",
  693.         14882
  694.         ),(
  695.         "pen",
  696.         14873
  697.         ),(
  698.         "peng",
  699.         14871
  700.         ),(
  701.         "pi",
  702.         14857
  703.         ),(
  704.         "pian",
  705.         14678
  706.         ),(
  707.         "piao",
  708.         14674
  709.         ),(
  710.         "pie",
  711.         14670
  712.         ),(
  713.         "pin",
  714.         14668
  715.         ),(
  716.         "ping",
  717.         14663
  718.         ),(
  719.         "po",
  720.         14654
  721.         ),(
  722.         "pu",
  723.         14645
  724.         ),(
  725.         "qi",
  726.         14630
  727.         ),(
  728.         "qia",
  729.         14594
  730.         ),(
  731.         "qian",
  732.         14429
  733.         ),(
  734.         "qiang",
  735.         14407
  736.         ),(
  737.         "qiao",
  738.         14399
  739.         ),(
  740.         "qie",
  741.         14384
  742.         ),(
  743.         "qin",
  744.         14379
  745.         ),(
  746.         "qing",
  747.         14368
  748.         ),(
  749.         "qiong",
  750.         14355
  751.         ),(
  752.         "qiu",
  753.         14353
  754.         ),(
  755.         "qu",
  756.         14345
  757.         ),(
  758.         "quan",
  759.         14170
  760.         ),(
  761.         "que",
  762.         14159
  763.         ),(
  764.         "qun",
  765.         14151
  766.         ),(
  767.         "ran",
  768.         14149
  769.         ),(
  770.         "rang",
  771.         14145
  772.         ),(
  773.         "rao",
  774.         14140
  775.         ),(
  776.         "re",
  777.         14137
  778.         ),(
  779.         "ren",
  780.         14135
  781.         ),(
  782.         "reng",
  783.         14125
  784.         ),(
  785.         "ri",
  786.         14123
  787.         ),(
  788.         "rong",
  789.         14122
  790.         ),(
  791.         "rou",
  792.         14112
  793.         ),(
  794.         "ru",
  795.         14109
  796.         ),(
  797.         "ruan",
  798.         14099
  799.         ),(
  800.         "rui",
  801.         14097
  802.         ),(
  803.         "run",
  804.         14094
  805.         ),(
  806.         "ruo",
  807.         14092
  808.         ),(
  809.         "sa",
  810.         14090
  811.         ),(
  812.         "sai",
  813.         14087
  814.         ),(
  815.         "san",
  816.         14083
  817.         ),(
  818.         "sang",
  819.         13917
  820.         ),(
  821.         "sao",
  822.         13914
  823.         ),(
  824.         "se",
  825.         13910
  826.         ),(
  827.         "sen",
  828.         13907
  829.         ),(
  830.         "seng",
  831.         13906
  832.         ),(
  833.         "sha",
  834.         13905
  835.         ),(
  836.         "shai",
  837.         13896
  838.         ),(
  839.         "shan",
  840.         13894
  841.         ),(
  842.         "shang",
  843.         13878
  844.         ),(
  845.         "shao",
  846.         13870
  847.         ),(
  848.         "she",
  849.         13859
  850.         ),(
  851.         "shen",
  852.         13847
  853.         ),(
  854.         "sheng",
  855.         13831
  856.         ),(
  857.         "shi",
  858.         13658
  859.         ),(
  860.         "shou",
  861.         13611
  862.         ),(
  863.         "shu",
  864.         13601
  865.         ),(
  866.         "shua",
  867.         13406
  868.         ),(
  869.         "shuai",
  870.         13404
  871.         ),(
  872.         "shuan",
  873.         13400
  874.         ),(
  875.         "shuang",
  876.         13398
  877.         ),(
  878.         "shui",
  879.         13395
  880.         ),(
  881.         "shun",
  882.         13391
  883.         ),(
  884.         "shuo",
  885.         13387
  886.         ),(
  887.         "si",
  888.         13383
  889.         ),(
  890.         "song",
  891.         13367
  892.         ),(
  893.         "sou",
  894.         13359
  895.         ),(
  896.         "su",
  897.         13356
  898.         ),(
  899.         "suan",
  900.         13343
  901.         ),(
  902.         "sui",
  903.         13340
  904.         ),(
  905.         "sun",
  906.         13329
  907.         ),(
  908.         "suo",
  909.         13326
  910.         ),(
  911.         "ta",
  912.         13318
  913.         ),(
  914.         "tai",
  915.         13147
  916.         ),(
  917.         "tan",
  918.         13138
  919.         ),(
  920.         "tang",
  921.         13120
  922.         ),(
  923.         "tao",
  924.         13107
  925.         ),(
  926.         "te",
  927.         13096
  928.         ),(
  929.         "teng",
  930.         13095
  931.         ),(
  932.         "ti",
  933.         13091
  934.         ),(
  935.         "tian",
  936.         13076
  937.         ),(
  938.         "tiao",
  939.         13068
  940.         ),(
  941.         "tie",
  942.         13063
  943.         ),(
  944.         "ting",
  945.         13060
  946.         ),(
  947.         "tong",
  948.         12888
  949.         ),(
  950.         "tou",
  951.         12875
  952.         ),(
  953.         "tu",
  954.         12871
  955.         ),(
  956.         "tuan",
  957.         12860
  958.         ),(
  959.         "tui",
  960.         12858
  961.         ),(
  962.         "tun",
  963.         12852
  964.         ),(
  965.         "tuo",
  966.         12849
  967.         ),(
  968.         "wa",
  969.         12838
  970.         ),(
  971.         "wai",
  972.         12831
  973.         ),(
  974.         "wan",
  975.         12829
  976.         ),(
  977.         "wang",
  978.         12812
  979.         ),(
  980.         "wei",
  981.         12802
  982.         ),(
  983.         "wen",
  984.         12607
  985.         ),(
  986.         "weng",
  987.         12597
  988.         ),(
  989.         "wo",
  990.         12594
  991.         ),(
  992.         "wu",
  993.         12585
  994.         ),(
  995.         "xi",
  996.         12556
  997.         ),(
  998.         "xia",
  999.         12359
  1000.         ),(
  1001.         "xian",
  1002.         12346
  1003.         ),(
  1004.         "xiang",
  1005.         12320
  1006.         ),(
  1007.         "xiao",
  1008.         12300
  1009.         ),(
  1010.         "xie",
  1011.         12120
  1012.         ),(
  1013.         "xin",
  1014.         12099
  1015.         ),(
  1016.         "xing",
  1017.         12089
  1018.         ),(
  1019.         "xiong",
  1020.         12074
  1021.         ),(
  1022.         "xiu",
  1023.         12067
  1024.         ),(
  1025.         "xu",
  1026.         12058
  1027.         ),(
  1028.         "xuan",
  1029.         12039
  1030.         ),(
  1031.         "xue",
  1032.         11867
  1033.         ),(
  1034.         "xun",
  1035.         11861
  1036.         ),(
  1037.         "ya",
  1038.         11847
  1039.         ),(
  1040.         "yan",
  1041.         11831
  1042.         ),(
  1043.         "yang",
  1044.         11798
  1045.         ),(
  1046.         "yao",
  1047.         11781
  1048.         ),(
  1049.         "ye",
  1050.         11604
  1051.         ),(
  1052.         "yi",
  1053.         11589
  1054.         ),(
  1055.         "yin",
  1056.         11536
  1057.         ),(
  1058.         "ying",
  1059.         11358
  1060.         ),(
  1061.         "yo",
  1062.         11340
  1063.         ),(
  1064.         "yong",
  1065.         11339
  1066.         ),(
  1067.         "you",
  1068.         11324
  1069.         ),(
  1070.         "yu",
  1071.         11303
  1072.         ),(
  1073.         "yuan",
  1074.         11097
  1075.         ),(
  1076.         "yue",
  1077.         11077
  1078.         ),(
  1079.         "yun",
  1080.         11067
  1081.         ),(
  1082.         "za",
  1083.         11055
  1084.         ),(
  1085.         "zai",
  1086.         11052
  1087.         ),(
  1088.         "zan",
  1089.         11045
  1090.         ),(
  1091.         "zang",
  1092.         11041
  1093.         ),(
  1094.         "zao",
  1095.         11038
  1096.         ),(
  1097.         "ze",
  1098.         11024
  1099.         ),(
  1100.         "zei",
  1101.         11020
  1102.         ),(
  1103.         "zen",
  1104.         11019
  1105.         ),(
  1106.         "zeng",
  1107.         11018
  1108.         ),(
  1109.         "zha",
  1110.         11014
  1111.         ),(
  1112.         "zhai",
  1113.         10838
  1114.         ),(
  1115.         "zhan",
  1116.         10832
  1117.         ),(
  1118.         "zhang",
  1119.         10815
  1120.         ),(
  1121.         "zhao",
  1122.         10800
  1123.         ),(
  1124.         "zhe",
  1125.         10790
  1126.         ),(
  1127.         "zhen",
  1128.         10780
  1129.         ),(
  1130.         "zheng",
  1131.         10764
  1132.         ),(
  1133.         "zhi",
  1134.         10587
  1135.         ),(
  1136.         "zhong",
  1137.         10544
  1138.         ),(
  1139.         "zhou",
  1140.         10533
  1141.         ),(
  1142.         "zhu",
  1143.         10519
  1144.         ),(
  1145.         "zhua",
  1146.         10331
  1147.         ),(
  1148.         "zhuai",
  1149.         10329
  1150.         ),(
  1151.         "zhuan",
  1152.         10328
  1153.         ),(
  1154.         "zhuang",
  1155.         10322
  1156.         ),(
  1157.         "zhui",
  1158.         10315
  1159.         ),(
  1160.         "zhun",
  1161.         10309
  1162.         ),(
  1163.         "zhuo",
  1164.         10307
  1165.         ),(
  1166.         "zi",
  1167.         10296
  1168.         ),(
  1169.         "zong",
  1170.         10281
  1171.         ),(
  1172.         "zou",
  1173.         10274
  1174.         ),(
  1175.         "zu",
  1176.         10270
  1177.         ),(
  1178.         "zuan",
  1179.         10262
  1180.         ),(
  1181.         "zui",
  1182.         10260
  1183.         ),(
  1184.         "zun",
  1185.         10256
  1186.         ),(
  1187.         "zuo",
  1188.     10254
  1189.     );
复制代码
View Code三、创建汉字转换拼音函数
  1. -- 建立汉字转换拼音函数
  2. DROP FUNCTION IF EXISTS to_pinyin;
  3. DELIMITER $
  4. CREATE FUNCTION to_pinyin(NAME VARCHAR(255) CHARSET gbk)
  5. RETURNS VARCHAR(255) CHARSET gbk
  6. BEGIN
  7.     DECLARE mycode INT;
  8.     DECLARE tmp_lcode VARCHAR(2) CHARSET gbk;
  9.     DECLARE lcode INT;
  10.     DECLARE tmp_rcode VARCHAR(2) CHARSET gbk;
  11.     DECLARE rcode INT;
  12.     DECLARE mypy VARCHAR(255) CHARSET gbk DEFAULT '';
  13.     DECLARE lp INT;
  14.     SET mycode = 0;
  15.     SET lp = 1;
  16.     SET NAME = HEX(NAME);
  17.     WHILE lp < LENGTH(NAME) DO
  18.         SET tmp_lcode = SUBSTRING(NAME, lp, 2);
  19.         SET lcode = CAST(ASCII(UNHEX(tmp_lcode)) AS UNSIGNED);
  20.         SET tmp_rcode = SUBSTRING(NAME, lp + 2, 2);
  21.         SET rcode = CAST(ASCII(UNHEX(tmp_rcode)) AS UNSIGNED);
  22.         IF lcode > 128 THEN
  23.             SET mycode =65536 - lcode * 256 - rcode ;
  24.             SELECT CONCAT(mypy,pin_yin_) INTO mypy FROM t_base_pinyin WHERE CODE_ >= ABS(mycode) ORDER BY CODE_ ASC LIMIT 1;
  25.             SET lp = lp + 4;
  26.         ELSE
  27.             SET mypy = CONCAT(mypy,CHAR(CAST(ASCII(UNHEX(SUBSTRING(NAME, lp, 2))) AS UNSIGNED)));
  28.             SET lp = lp + 2;
  29.         END IF;
  30.     END WHILE;
  31.     RETURN LOWER(mypy);
  32. END;
  33. $
  34. DELIMITER ;
复制代码
如果出现错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
 
执行下面SQL,然后重新执行函数即可:
  1. set global log_bin_trust_function_creators=TRUE;
复制代码
四、使用方法
  1. select to_pinyin('测试')
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表