程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 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_acode<124 or l_acode>254 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;

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved