[英]Split String Teradata SQL
我正在尋找在Teradata中拆分字符串的方法。
該表可能看起來像這樣。
column1
hello:goodbye:afternoon
我正在嘗試使用SUBSTRING和INSTR提取特定的單詞。 所以,說我想選擇“再見”。 我正在嘗試以下查詢。
SELECT SUBSTRING(a.column1 from index(a.column1,':')+1 for INSTR(a.column1,':',0,2))
FROM db.table as a
我收到以下錯誤。
SELECT Failed. [3707] Syntax error, expected something like ')' between the word 'INSTR' and '('
我不確定為什么會收到該錯誤。 它使我可以使用INDEX來代替INSTR來推導一個數字,因此我不確定為什么當我使用INSTR時它為什么以這種方式起作用。
如果這是TD14,則不需要INSTR
,則有一個STRTOK
函數:-)
STRTOK(column1,':',2),
對於早期版本,它是
CASE
WHEN column1 LIKE '%:%:%'
THEN SUBSTRING(column1 FROM POSITION(':' IN column1) + 1 FOR POSITION(':' IN
SUBSTRING(column1 FROM POSITION(':' IN column1) + 1)) - 1)
WHEN column1 LIKE '%:%'
THEN SUBSTRING(column1 FROM POSITION(':' IN column1) + 1)
END
CASE LIKE
ist只是為了防止在沒有冒號時出現“ 字符串下標越界 ”錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.