站内搜索

MySql判断汉字、日期、数字的具体函数_MySQL

几个平常用的mysql函数,MySql判断汉字、日期、数字的具体函数分享给大家,具体内容如下

1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字


DROP FUNCTION IF EXISTS fc_is_hanzi;CREATE FUNCTION fc_is_hanzi(p_str VARCHAR(1024))  RETURNS int(11)  NOT DETERMINISTIC  SQL SECURITY DEFINER  COMMENT '检查字符串是否为汉字'BEGIN/*检查字符串是否为汉字 返回值:1-汉字 0-非汉字*/  DECLARE _ret, i, other_cnt, l_acode INT DEFAULT 0;  SET _ret = 0;  SET i = 1;  SET other_cnt = 0;  SET l_acode = 0;  WHILE i <= CHAR_LENGTH(p_str) DO    SET l_acode = ASCII(SUBSTRING(p_str, i, 1));    IF l_acode254 THEN      SET other_cnt = other_cnt + 1;    END IF;    SET i = i + 1;  END WHILE;  IF other_cnt = 0 THEN    SET _ret = 1;  ELSE    SET _ret = 0;  END IF;  RETURN _ret;END;


2.判断日期格式是否正确(返回值:1-正确 0-错误)


DROP FUNCTION IF EXISTS fc_ck_date;CREATE FUNCTION fc_ck_date(p_cont CHAR(32) )  RETURNS tinyint(4)  NOT DETERMINISTIC  SQL SECURITY DEFINER  COMMENT '判定日期格式是否正确'BEGIN/*判定日期格式是否正确(返回值:1-正确 0-错误)*//*输入值格式为:yyyyMMdd 或 yyyy-MM-dd*/IF(SELECT DATE_FORMAT(p_cont,'%Y%m%d')) IS NULL THEN  RETURN 0;ELSE  RETURN 1;END IF;END;


3.判断字符串是否为纯数字(返回值:1-为纯数字 0-非纯数字)


DROP FUNCTION IF EXISTS fc_is_num;CREATE FUNCTION fc_is_num(p_string VARCHAR(32) )  RETURNS int(4)  NOT DETERMINISTIC  SQL SECURITY DEFINER  COMMENT '检查字符串是否为纯数字'BEGIN/*检查字符串是否为纯数字*//*返回值:1-为纯数字 0-非纯数字*/   DECLARE iResult INT DEFAULT 0;   SELECT p_string REGEXP '^[0-9]*$' INTO iResult;   IF iResult = 1 THEN    RETURN 1;   ELSE     RETURN 0;   END IF;END;


以上就是MySql判断汉字、日期、数字的三段函数,希望对大家的学习有所帮助,

  • 上一篇:SQL之视图_MySQL
  • 下一篇:Centos7mysql5.5启用innodb引擎_MySQL