[英]Oracle SQL - REGEXP_LIKE contains characters other than a-z or A-Z
[英]Regexp_Like to Validate Uppercase Characters [A-Z] and Numbers [0-9] Only
我想在Oracle SQL中使用regexp_like
查詢,該查詢僅驗證大寫字符[AZ]和數字[0-9]
SELECT *
FROM dual
WHERE REGEXP_LIKE('AAAA1111', '[A-Z, 0-9]')
選擇語句probalby應該看起來像
SELECT 'Yes' as MATCHING
FROM dual
WHERE REGEXP_LIKE ('AAAA1111', '^[A-Z0-9]+$')
這意味着從第一個^到最后一個$字母,每個字符都應為大寫字母或數字。 重要說明:Z和0之間沒有逗號或空格。 +
表示至少一個或多個字符。
編輯:基於Barbaros的答案,另一種選擇方式將是可能的
SELECT 'Yes' as MATCHING
FROM DUAL
WHERE regexp_like('AAAA1111','^[[:digit:][:upper:]]+$')
編輯:添加了DBFiddle
您可以使用 :
select str as "Result String"
from tab
where not regexp_like(str,'[[:lower:] ]')
and regexp_like(str,'[[:alnum:]]')
在POSIX [^[:lower:]]
模式中not regexp_like
地方表示消除了包含小寫字母的字符串,
和regexp_like
與POSIX [[:alnum:]]
圖案代表接受字符串不帶符號
( 由於[[:lower:] ]
末尾的空格,僅包含字母和數字甚至都不包含空格 。 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.