Oracle pl / sql检查数字是以9还是8开头

时间:2016-01-22 06:56:29

标签: oracle validation

我正在尝试验证数据库中数字的数据。

我是否能够检测到检索到的数据是否以8或9开始?

例如:

8999999有效

9999999有效

7000000无效

由于

2 个答案:

答案 0 :(得分:2)

您可以尝试使用SUBSTR()检查字段的第一个字符:

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

答案 1 :(得分:1)

以下查询将返回列data89开头的所有记录:

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

我在此假设data是数字类型,因此我在使用varchar之前将其强制转换为REGEXP_LIKE