2016-04-13 4 views
-1

Ich versuche, einen alphanumerischen Wert in einer Spalte zu finden, die Groß- und Kleinschreibung beachtet.
Ich habe dieses Muster versucht, aber es funktioniert nicht.Case senstive Suche nach alphanumerischen Werten mit Regexp_like plsql

`REGEXP_LIKE ('1000 - 2000 test', '^[0-9]{4} - [0-9]{4} test', 'c')` 

Oder funktioniert die Groß-/Kleinschreibung bei alphanumerischen Werten nicht?

+2

Was Sie mit "funktioniert nicht" meine ich? Ist das falsch? – Aleksej

+0

Zuerst wurden keine Werte zurückgegeben. Aber es war meine Schuld, da in der Anweisung ein Leerzeichen enthalten war, und ich habe es entfernt und korrigiert. Jetzt gibt es mir einen Wert. Entschuldigen Sie die Unannehmlichkeiten. – Eli

Antwort

0

Anleitung lesen http://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm;)

select * from (
      select '1000 - 2000 test' a from dual 
union all select '1000 - 2123 TEST' a from dual 
) where 
REGEXP_LIKE(a, '^[0-9]{4} - [0-9]{4} test', 'c'); 

Zurückgeben

1000 - 2000 test 

Groß- und Kleinschreibung, weil 'c', damit über das gibt 1 row während unten, unter Verwendung von 'i'Fall insensitive, erhält man 2 :

select * from (
      select '1000 - 2000 test' a from dual 
union all select '1000 - 2123 TEST' a from dual 
) where 
REGEXP_LIKE(a, '^[0-9]{4} - [0-9]{4} test', 'i'); 

Rückkehr

1000 - 2000 test 
1000 - 2123 TEST 
Verwandte Themen