2016-01-22 109 views
0

我想驗證數據庫中的數據是數字。Oracle pl/sql檢查數字是以9還是8開頭

我能檢測到檢索到的數據是否以8或9開始?

例如:

8999999有效

9999999有效

7000000無效

感謝

+0

您的示例數字表明您可能意味着一個數字應該僅由8和9組成。 – GolezTrol

+0

這太寬泛了嗎?當它仍然是一件事情時,它本來就是太過本地化的完美人選。 – Laurel

回答

2

你可以嘗試檢查使用SUBSTR()領域的第一個字符:

SELECT field_value 
FROM your_table 
WHERE SUBSTR(TO_CHAR(field_value), 1, 1) IN ('8','9') 
+0

雖然這兩個答案的成本幾乎相同,但這個比較快一點。乾杯! – Utsav

1

下面的查詢將返回所有記錄,其中列data始於一個89

SELECT data 
FROM your_table 
WHERE REGEXP_LIKE (CAST(data AS varchar2(30)), '^(8|9)(*)'); 

我這裏假設data是數值類型,所以我用REGEXP_LIKE之前將其轉換爲varchar

相關問題