1、 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 DETERMINISTICSQL SECURITY DEFINERCOMMENT 检查字符串是否为汉字BEGIN/*检查字符串是否为汉字 返回值:1-汉字 0-非汉字*/DECLARE _ret, i, other_cnt, l_acode INT DEFAULT
2、 0;SET _ret = 0;SET i = 1;SET other_cnt = 0;SET l_acode = 0;WHILE i = CHAR_LENGTH(p_str) DOSET l_acode = ASCII(SUBSTRING(p_str, i, 1);IF l_acode124 or l_acode254 THENSET other_cnt = other_cnt + 1;END IF;SET i = i + 1;END WHILE;IF other_cnt = 0 THENSET _ret = 1;ELSESET _ret = 0;END IF;RETURN _ret;END
3、;/*2.判断日期格式是否正确(返回值:1-正确 0-错误)*/DROP FUNCTION IF EXISTS fc_ck_date;CREATE FUNCTION fc_ck_date(p_cont CHAR(32)RETURNS tinyint(4)NOT DETERMINISTICSQL SECURITY DEFINERCOMMENT 判定日期格式是否正确BEGIN/*判定日期格式是否正确(返回值:1- 正确 0-错误)*/*输入值格式为:yyyyMMdd 或 yyyy-MM-dd*/IF(SELECT DATE_FORMAT(p_cont,%Y%m%d) IS NULL THENRETURN 0;ELSERETURN 1;END IF;END;/*3.判断字符串是否为纯数字(返回值:1-为纯数字 0-非纯数字)*/DROP FUNCTION IF EXISTS fc_is_num;CREATE FUNCTION fc_is_num(p_string VARCHARN 1;ELSERETURN 0;END IF;END;