【问题标题】:Reformatting string using REGEX使用 REGEX 重新格式化字符串
【发布时间】:2017-03-31 19:44:40
【问题描述】:

我对 sql 很陌生!我有一个关于重新格式化字符串的问题:

目前我有一个列,它给了我以下结果,例如:

1a20b345c
1a20b
20b345c

(字符数并不总是相等)。每个数字和字母都是一个组合 (1a, 20b, 345c)。我希望它把字母放在数字之前(而不是从数字开始),但在组合方面保持相同的顺序。如:

a1b20c345
a1b20
b20c345

这有意义吗?我似乎无法弄清楚如何将字母与数字分开,然后重新排序。

感谢您的帮助!

【问题讨论】:

  • 您使用的是 MySQL 还是 Teradata? (不要标记未涉及的产品。)

标签: mysql sql teradata


【解决方案1】:

Teradata

select regexp_replace ('1a20b345c','(\d+)(\D+)','\2\1')

【讨论】:

  • 非常感谢!!
猜你喜欢
  • 2018-10-27
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多