如何判斷一個字串是否為純數字的問題,當然也可以判斷一個字串是否為純字母

bq_wang發表於2008-01-04
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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-101735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章