【问题标题】:Sub String function in TeradataTeradata 中的子字符串函数
【发布时间】:2014-01-21 03:27:49
【问题描述】:

我需要从字符串 '000-111-222-333' 中单独提取 '000-111' ,即 Teradata 中第二个 '-' 之前的部分字符串,而无需对位置进行硬编码,因为字符串中的字符数可能会有所不同.提前致谢

【问题讨论】:

标签: sql teradata


【解决方案1】:

取决于您的 TD 版本(或安装的 UDF):

SUBSTRING(x FROM 1 FOR INSTR(x,'-',1,2) - 1)

这应该适用于任何 TD 版本:

SUBSTRING(x FROM 1 FOR POSITION('-' IN x) + POSITION('-' IN SUBSTRING(x FROM POSITION('-' IN x) + 1)) - 1)

【讨论】:

  • 有没有办法根据第 3 次出现来获取子字符串的一部分?
  • 您的 TD 版本是什么?
猜你喜欢
  • 2021-06-05
  • 2023-03-14
  • 2012-09-09
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
相关资源
最近更新 更多