首页 > IT职业 > IT生活 > 判断字符串只包含字母或者数字
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/ ,如需转载,请注明出处,否则将追究法律责任。