>데이터 베이스 >MySQL 튜토리얼 >MySql 判断汉字、日期、数字的函数

MySql 判断汉字、日期、数字的函数

WBOY
WBOY원래의
2016-06-07 16:21:391235검색

几个平常用的mysql函数 /***************************************************** 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 *****************************************************/ DROP FUNCTION IF EXISTS fc_is_hanzi; CREATE FUNCTION fc_is_h

   几个平常用的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

  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;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.