91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 中 isnumeric 的三種實現

發布時間:2020-03-09 22:36:16 來源:網絡 閱讀:402 作者:沙漏半杯 欄目:編程語言

使用過 asp 的應該對 isnumeric 函數不會陌生,這是一個常用的判斷入參是否為數字的函數。在 oracle 中沒有現成的判斷是否為數字函數,下面就用三種方法來實現: 


1. 利用 to_number?

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)?

? ?RETURN NUMBER?

IS?

? ?v_str FLOAT;?

BEGIN?

? ?IF str IS NULL?

? ?THEN?

? ? ? RETURN 0;?

? ?ELSE?

? ? ? BEGIN?

? ? ? ? ?SELECT TO_NUMBER (str)?

? ? ? ? ? ?INTO v_str?

? ? ? ? ? ?FROM DUAL;?

? ? ? EXCEPTION?

? ? ? ? ?WHEN INVALID_NUMBER?

? ? ? ? ?THEN?

? ? ? ? ? ? RETURN 0;?

? ? ? END;?


? ? ? RETURN 1;?

? ?END IF;?

END isnumeric;?


2. 利用 regexp_like?

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)?

? ?RETURN NUMBER?

IS?

BEGIN?

? ?IF str IS NULL?

? ?THEN?

? ? ? RETURN 0;?

? ?ELSE?

? ? ? IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$')?

? ? ? THEN?

? ? ? ? ?RETURN 1;?

? ? ? ELSE?

? ? ? ? ?RETURN 0;?

? ? ? END IF;?

? ?END IF;?

END isnumeric;?


3. 利用 TRANSLATE?

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)?

? ?RETURN NUMBER?

IS?

? ?v_str VARCHAR2 (1000);?

BEGIN?

? ?IF str IS NULL?

? ?THEN?

? ? ? RETURN 0;?

? ?ELSE?

? ? ? v_str := TRANSLATE (str, '.0123456789', '.');?


? ? ? IF v_str = '.' OR v_str = '+.' OR v_str = '-.' OR v_str IS NULL?

? ? ? THEN?

? ? ? ? ?RETURN 1;?

? ? ? ELSE?

? ? ? ? ?RETURN 0;?

? ? ? END IF;?

? ?END IF;?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂荣县| 雅安市| 察隅县| 辉县市| 普兰县| 保亭| 昌邑市| 英山县| 玛纳斯县| 横山县| 格尔木市| 庄河市| 多伦县| 防城港市| 江油市| 冷水江市| 卢氏县| 宁陕县| 防城港市| 大田县| 登封市| 威信县| 兴安盟| 溧阳市| 沛县| 甘泉县| 房产| 剑川县| 文昌市| 湘阴县| 德昌县| 济阳县| 昌图县| 昭苏县| 荣成市| 竹北市| 咸丰县| 错那县| 和林格尔县| 宜都市| 山阳县|