Ich habe 15 Zeichenkette und muss durchlaufen durch Ziehen der Position des Auftretens des Buchstaben "a". Ich wollte einen Cursor verwenden, um die Zeichenfolge zu durchlaufen, war mir aber nicht sicher, wie ich die einzelnen Positionen speichern konnte.Oracle Instr Position
Antwort
So etwas, um die Zeichenfolge in jedes Zeichen zu brechen und dann auf Ihren gewünschten Wert zu filtern?
-- data setup to create a single value to test
WITH dat as (select 'ABCDEACDFA' val from DUAL)
--
SELECT lvl, strchr
from (
-- query to break the string into individual characters, returning a row for each
SELECT level lvl, substr(dat.val,level,1) strchr
FROM dat
CONNECT BY level <= length(val)
) WHERE strchr = 'A';
returns:
LVL STRCHR
1 A
6 A
10 A
Danke für die Veröffentlichung. Das einzige Problem ist die Leistung zu diesem Zeitpunkt. Ich renne auf einem riesigen Tisch. – neo
benötigen Sie alle Positionen aller Instanzen Ihres Briefes in allen Zeilen? kann nicht helfen, ohne genaue Anforderungen abzustimmen ... –
ja, alle Positionen von 'a'. Also könnte es eine oder mehrere Zeilen geben. – neo
Hier ist eine andere Methode mit einer weniger Auswahl und einem Regex. Ich glaube nicht, dass es Ihrem Leistungsproblem helfen wird. Bitte versuchen Sie es und lassen Sie es uns wissen:
SQL> with tbl(str) as (
select 'Aabjggaklkjha' from dual
)
select level as position
from tbl
where upper(REGEXP_SUBSTR(str, '.', 1, level)) = 'A'
connect by level <= length(str);
POSITION
----------
1
2
7
13
SQL>
- 1. Oracle INSTR finden genaue Übereinstimmung
- 2. Wie man Oracle Instr Funktion in Java
- 3. Holen Sie den Wert mit substr und Instr in Oracle
- 4. Oracle INSTR Spaß mit 4 Parameter im Java-Programm?
- 5. Alternative InStr
- 6. Advance-Funktion InStr
- 7. Split String durch Trennzeichen Position mit Oracle SQL
- 8. Verwenden Sie die Oracle INSTR-Funktion, um nach mehreren Zeichenfolgen zu suchen
- 9. XSLT, XPath und InStr
- 10. VBA wenn mit InStr
- 11. ASP InStr vs PHP strpos
- 12. VBA Fehlerhafte Funktion InStrRev = Instr
- 13. Verwenden Sie Instr auf ListAGG
- 14. VBScript Instr Funktion immer 0
- 15. Suche nach Anführungszeichen mit InStr
- 16. Mein InStr kehrt immer 0
- 17. InStr gibt immer Null zurück
- 18. Instr Methode in Javascript XPages
- 19. ORACLE - Substring
- 20. "kein Schlagwort für diese Position" Oracle Fehler
- 21. Split String durch Trennzeichen Position mit Oracle
- 22. Gibt es einen Unterschied zwischen INSTR() und CHARINDEX()?
- 23. Exakte Übereinstimmung mit InStr in Excel VBA
- 24. = sum (IIF mit mittleren und InStr
- 25. Wie man Instr in Informatica verwendet
- 26. Was ist schneller - INSTR oder wie?
- 27. So verwenden Sie RegEx-Ausdruck mit InSTR
- 28. VBA_Error ‚1004‘, während die Funktion InStr mit
- 29. InStr für Array von Werten (möglich?)
- 30. MDX Builder - Filterung mit INSTR Funktion
Bitte fügen Sie Beispieldaten zusammen mit der gewünschten Ausgabe und jeder Abfrage, die Sie ausprobiert haben. –
Mögliches Duplikat von [Oracle-Abfrage, um alle Vorkommen eines Zeichens in einer Zeichenfolge zu finden] (http://stackoverflow.com/questions/17906105/oracle-query-to-find-all-occurences-of-a-charcter-in) -a-string) –
Danke Dr. Avalanche, das war nützlich. Das einzige Problem, mit dem ich konfrontiert bin, ist, dass diese Instr-Funktionen auf großen Tischen eine schreckliche Leistung haben. – neo