Split String Teradata SQL

Ich bin auf der Suche nach split einen string in Teradata.

Die Tabelle könnte wie folgt Aussehen.

column1
hello:goodbye:afternoon

Ich versuche, SUBSTRING und INSTR extrahieren spezifische Wörter. Also, sagen ich wollen, wählen Sie "auf Wiedersehen". Ich versuche folgende Abfrage.

SELECT SUBSTRING(a.column1 from index(a.column1,':')+1 for INSTR(a.column1,':',0,2))
FROM db.table as a

Bekomme ich die folgende Fehlermeldung.

SELECT Failed. [3707] Syntax error, expected something like ')' between the word 'INSTR' and '('

Ich bin mir nicht sicher, warum ich immer diesen Fehler. Es ermöglicht es mir, verwenden Sie einen INDEX, um daraus eine Zahl anstelle von INSTR, also ich bin mir nicht sicher, warum es ist auf diese Weise handeln, wenn ich INSTR.

Welche version von Teradata sind Sie auf? Ich denke, es wurde nur in TD 14 und wenn du auf eine ältere version, dann müssen Sie die UDF für die gleichen...
Sieht aus wie ich bin am 13.. Wie mache ich diesen Vorgang dann?
Wenn Sie die INSTR-UDF installiert, das ist die einfachste option. Sonst haben Sie möglicherweise zu basteln mit POSITION können Sie die UDF ' s von hier - downloads.teradata.com/download/extensibility/...

InformationsquelleAutor cloud36 | 2014-05-13

Schreibe einen Kommentar