MySql 判斷漢字、日期、數位函數

來源:互聯網
上載者:User

   幾個平常用的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;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.