MySql判断汉字、日期、数字的具体函数
几个平常用的mysql函数,MySql判断汉字、日期、数字的具体函数分享给大家,具体内容如下
1.判断字符串是否为汉字返回值:1-汉字0-非汉字
DROPFUNCTIONIFEXISTSfc_is_hanzi; CREATEFUNCTIONfc_is_hanzi( p_strVARCHAR(1024) ) RETURNSint(11) NOTDETERMINISTIC SQLSECURITYDEFINER COMMENT'检查字符串是否为汉字' BEGIN /*检查字符串是否为汉字返回值:1-汉字0-非汉字*/ DECLARE_ret,i,other_cnt,l_acodeINTDEFAULT0; SET_ret=0; SETi=1; SETother_cnt=0; SETl_acode=0; WHILEi<=CHAR_LENGTH(p_str)DO SETl_acode=ASCII(SUBSTRING(p_str,i,1)); IFl_acode<124orl_acode>254THEN SETother_cnt=other_cnt+1; ENDIF; SETi=i+1; ENDWHILE; IFother_cnt=0THEN SET_ret=1; ELSE SET_ret=0; ENDIF; RETURN_ret; END;
2.判断日期格式是否正确(返回值:1-正确0-错误)
DROPFUNCTIONIFEXISTSfc_ck_date; CREATEFUNCTIONfc_ck_date( p_contCHAR(32) ) RETURNStinyint(4) NOTDETERMINISTIC SQLSECURITYDEFINER COMMENT'判定日期格式是否正确' BEGIN /*判定日期格式是否正确(返回值:1-正确0-错误)*/ /*输入值格式为:yyyyMMdd或yyyy-MM-dd*/ IF(SELECTDATE_FORMAT(p_cont,'%Y%m%d'))ISNULLTHEN RETURN0; ELSE RETURN1; ENDIF; END;
3.判断字符串是否为纯数字(返回值:1-为纯数字0-非纯数字)
DROPFUNCTIONIFEXISTSfc_is_num; CREATEFUNCTIONfc_is_num( p_stringVARCHAR(32) ) RETURNSint(4) NOTDETERMINISTIC SQLSECURITYDEFINER COMMENT'检查字符串是否为纯数字' BEGIN /*检查字符串是否为纯数字*/ /*返回值:1-为纯数字0-非纯数字*/ DECLAREiResultINTDEFAULT0; SELECTp_stringREGEXP'^[0-9]*$'INTOiResult; IFiResult=1THEN RETURN1; ELSE RETURN0; ENDIF; END;
以上就是MySql判断汉字、日期、数字的三段函数,希望对大家的学习有所帮助。