2012-04-09 10 views
-1

freundlich gibt es jemand weiß, wie man eine bestimmte Zeichenfolge aus einer großen Zeichenfolge mit pl/sql, Ich bin ein bisschen Anfänger bei der Erstellung von Querys, so dass jede Hilfe nützlich sein wird. BTW ich möchte nicht die Funktion verwenden: Wählen Sie substr (*, *, *) von * cuz die Eingabe ist variabel, so kann mir jemand helfen bei diesem Problem, und rate mir, Block zu verwenden davon ausgehen.erhalten bestimmte Wörter aus Zeichenfolge, ORACLE

Dank & Grüßen,

+2

In PL/SQL für Case insensitive dann gehen werden suchen Sie nicht brauchen, Verwenden eines SELECT, um Teilstr. Sie können es einfach aufrufen: v_result = substr (p_input, 1, 2); Je nachdem, was Sie eigentlich erreichen möchten, schauen Sie auch [instr] (http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions068.htm), [regexp_substr] (http: //docs.oracle.com/cd/B19306_01/server.102/b14200/functions131.htm) und [regexp_instr] (http://docs.oracle.com/cd/B13789_01/server.101/b10759/functions114.htm)). – Viehzeug

+3

Wenn Sie Fragen wie diese stellen, sollten Sie einige Beispieleingaben und einige excepted Ausgaben geben. Hilf uns, dir zu helfen! – APC

+0

Sind Sie nach pl/sql oder nur sql? Irgendein Kontext würde dir helfen. –

Antwort

3

Es klingt wie Sie sich für eine bestimmte Zeichenfolge innerhalb eines größeren Zeichenfolge suchen. Wenn ja, sind die Funktion, die Sie wahrscheinlich suchen, ist INSTR:

http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm

+0

Verknüpfung mit Oracle-Dokumentation anstelle von Dritten wäre besser: http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm –

+0

@BurhanAli Danke, Link aktualisiert. –

2

Soweit mein Verständnis auf Ihre Frage Sie check wollen, ob ein specific word in einem string or not vorhanden ist, wenn dies die Frage ist, können Sie Finde die Lösung unten.

DECLARE 
v_string VARCHAR2(200):='MY NAME IS GAURAV SONI'; 
v_check PLS_INTEGER; 
BEGIN 

v_check:=INSTR(v_string,'GAURAV'); --this is case sensitive 

IF v_check >0 THEN 
dbms_output.put_line('Word exists'); 
END IF; 

END; 

In dem obigen Block wir Wort GAURAV im String MY NAME IS GAURAV SONI und dieses Wort existiert in 12 Ort suchen.

Bitte beachten Sie, dieses Case sensitive ist und wenn Sie mitreden gaurav, Wert der v_check wird zero sein.

Wenn Sie reguläre Ausdrücke in oracle REGEXP_INSTR anstelle von INSTR .Read das Orakel Dokument, bevor Sie diese Funktion REGEXP_INSTR

Worked out example in SQL Fiddle

Verwandte Themen