簡體   English   中英

unicode類型的Oracle SQL regexp_like

[英]Oracle SQL regexp_like by unicode types

假設我有一個unicode類型(或Unicode類別,根據https://www.regular-expressions.info/unicode.html )的模式

LLLLZLLLZLLLL
NNNN

我正在嘗試編寫一個sql查詢,在與模式完全對應的列中選擇條目。

我在此列中確實有條目“ 2343”,以及許多其他混合的字母數字或更長(大於4個)數字unicode字符。

我想准確檢索“ 2343”(或任何4個Unicode數字條目)。

試了幾個

SELECT field1 
FROM myTable1 
WHERE regexp_like(field1, '[^\p{N}{4}S]');

SELECT field1 
FROM myTable1 
WHERE regexp_like(field1, '[^\p{N}\p{N}\p{N}\p{N}S]');

什么都沒有。

看來這不是unicode字符類的oracle語法。

嘗試使用[:digit:]輸入任意數字。

這里

謝謝@ 1010! 你把我推向正確的方向! 這些為我工作:

4987  -  NNNN
SELECT field1 
FROM myTable1 
WHERE regexp_like(field1, '^[[:digit:]]{4}$');
Ivan Joe Test - LLLLZLLLZLLLL
SELECT field1 
FROM myTable1 
WHERE regexp_like(field1, '^[[:alpha:]]{4}[[:space:]][[:alpha:]]{3}[[:space:]][[:alpha:]]{4}$');

暫無
暫無

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

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