拼音字母搜索


package com.huikemgmt.common;

/**
 * 字符工具类
 *
 * @author wangxl
 * @date 2018-05-17
 */
public class StringUtil {

    /**
     * 输入 "A "  "F" ,返回连续的字母字符串 " 'A', 'B', 'C', 'D', 'E', 'F' "
     *
     * @param begin
     * @param end
     * @return
     */
    public static String getContinousUpperCaseLetter(String begin ,String end){ //单元测试必须是
        int beginAscii = begin.charAt(0);
        int endAscii = end.charAt(0);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < (endAscii - beginAscii + 1); i++) {
            Character a = (char)(beginAscii+i) ;
            if (i == endAscii - beginAscii) {
                String s = "'" + a.toString() + "'";
                sb.append(s);
                break;
            }
            String s = "'" + a.toString() + "', ";
            sb.append(s);
        }
        return sb.toString();//返回值为 'A', 'B', 'C', 'D', 'E', 'F'
    }

    public static void main(String[] args) {
        String s = StringUtil.getContinousUpperCaseLetter("A", "F");
        System.out.println(s);
    }
}


SELECT
CustomerId customerId,
CustomerName customerName
FROM
customer_all_info
WHERE

        getFirstPinYinChar (CustomerName) IN ('A', 'B')


/*
存储函数的说明: 输入中文字符串 返回 中文第一个字符的拼音 (输入 白宫 返回 B)   SELECT getFirstPinYinChar('白宫');
wangxl
Date: 2018-04-26 17:30:00
*/
DROP FUNCTION IF EXISTS `getFirstPinYinChar`;
DELIMITER ;;
CREATE FUNCTION `getFirstPinYinChar`(PARAM VARCHAR(255)) RETURNS varchar(2) CHARSET utf8
BEGIN
    DECLARE V_RETURN VARCHAR(255);
    DECLARE V_FIRST_CHAR VARCHAR(2);
    SET V_FIRST_CHAR = UPPER(LEFT(PARAM,1));
    SET V_RETURN = V_FIRST_CHAR;
    IF LENGTH( V_FIRST_CHAR) <> CHARACTER_LENGTH( V_FIRST_CHAR ) THEN
    SET V_RETURN = ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(PARAM 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');
    END IF;
    RETURN V_RETURN;
END
;;
DELIMITER ;

猜你喜欢

转载自blog.csdn.net/qq_29883183/article/details/80354042