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/...
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn dies TD14 Sie nicht brauchen
INSTR
gibt es eineSTRTOK
Funktion 🙂Für frühere Versionen, es ist
Den
CASE LIKE
tritt, nur um zu verhindern, dass ein "string index out of bound" Fehler, wenn es kein Doppelpunkt.InformationsquelleAutor dnoeth