ITPub博客

首页 > IT职业 > IT生活 > 判断字符串只包含字母或者数字

判断字符串只包含字母或者数字

原创 IT生活 作者:cxck 时间:2007-05-03 10:06:33 0 删除 编辑
ORACLE 10g新增了正则表达式,可以通过正则表达式实现,也可以通过自定义的函数实现:[@more@]
create or replace function getStringType(stext in varchar2) return varchar2 is
	Result varchar2(4000);
	idx Number;
	ilen Number;
	inum Number;
	bnum Boolean;
	bchar Boolean;
begin
	Result := '';
	bnum := False;
	bchar := False;
	idx := 0;
	ilen := length(trim(stext));
	
	For idx In 0 .. ilen -1 Loop
		inum := ascii(substr(stext,idx,1));
		If inum >= 48 And inum <= 57 Then
			bnum := True;
		Else
			bchar := True;
		End If;
	End Loop;
	If bnum And Not bchar Then
		Result := 'Number';
	End If;
	If Not bnum And bchar Then
		Result := 'String';
	End If;
	If bnum And bchar Then
		Result := 'Both';
	End If;

	return(Result);
end getStringType;

验证:
SQL> CREATE TABLE t(id varchar2(10));
SQL> INSERT INTO t VALUES('aaaa');
SQL> INSERT INTO t VALUES('1111');
SQL> INSERT INTO t VALUES('aa11');
SQL> COMMIT;
SQL> SELECT id,getStringType(id) type FROM t;

ID       TYPE
--------------------
aaaa     String
1111     Number
aa11     Both

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/174388/viewspace-913205/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    38
  • 访问量
    74699