不胜人生一场醉

欢迎来到不胜人生一场醉>>   | 首页 资源中心 | 软件开发 | 软件工程 | 艺术长廊 | 数据仓库专区 | 你的故事我的歌 | 数据库专区 | ITPUB论坛

如何判断一个字符串是否为数字的问题,当然也可以判断一个字符串是否为纯字母

发表人:PercyWang | 发表时间: 2008年一月04日, 22:19

tranlate可以帮我们把相应的字符进行转义和自定义函数均可以帮我们实现这个功能:)

tranlate可以帮我们把相应的字符进行转义,例子如下:

SELECT
TRANSLATE('abcd123','abc','XXXX'),
TRANSLATE('abcd123','abcdef','XXXX')
FROM dual

原型为 TRANSLATE(str1 VARCHAR2,src VARCHAR2,dest VARCHAR2)
str1为要转义的字符串,src为待转义的字符,dest为转义后的字符
如果dest长度大于src,则只转义出现在src中的字符
如果dest长度小于src,则src中多余的字符转义为''

以下为判断一个字符串是否为数字的详细例子,当然标点符号没有计算在你
SELECT
INSTR(TRANSLATE('abc123','abcdefghijklmnopqrstuvdxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),'X')
FROM dual


CREATE OR REPLACE FUNCTION f_isnumber(str1 IN VARCHAR2) RETURN NUMBER
IS
vNumber NUMBER(38,0);
BEGIN
vNumber:=TO_NUMBER(str1);
RETURN(1);
EXCEPTION
WHEN OTHERS THEN
RETURN(0);
END F_ISNUMBER;

SELECT f_isnumber('12'),f_isnumber('12a') FROM dual

发表评论

标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)


authimage



Valid XHTML 1.0 Strict and CSS. Powered by pLog
Design by Blog.lvwo.com