簡體   English   中英

Regexp_Like僅驗證大寫字符[AZ]和數字[0-9]

[英]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]')
  1. 項目清單

選擇語句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

快速的幫助,可以發現這里和Oracle正則表達式在這里

您可以使用 :

select str as "Result String" 
  from tab
 where not regexp_like(str,'[[:lower:] ]') 
   and regexp_like(str,'[[:alnum:]]')

POSIX [^[:lower:]]模式中not regexp_like地方表示消除了包含小寫字母的字符串,

regexp_likePOSIX [[:alnum:]]圖案代表接受字符串不帶符號

由於[[:lower:] ]末尾的空格,僅包含字母和數字甚至都不包含空格

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM