mysql - 使用 REGEX 重新格式化字符串

标签 mysql sql teradata

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

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

1a20b345c
1a20b
20b345c

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

a1b20c345
a1b20
b20c345

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

感谢您的帮助!

最佳答案

Teradata

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

关于mysql - 使用 REGEX 重新格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651975/

相关文章:

mysql - Group_Concat 中的元素数

sql - MySQL 查询匹配数组中的所有内容

MYSQL:多表连接 - 以先前的连接为条件

python - 升级到 Teradata 16.00 驱动程序后,pyodbc 与 Teradata 的连接无法正常工作

php - MySQL错误: Unknown column 'product_name' in 'where clause' in opencart

php - 从 MySQL 查询中获取所有行

c# - 使用 Microsoft Visual Studio 2010 在 C# 中构建的网页的 SQL 问题

sql - Row_Number() 超过 20 亿条记录 (Teradata)

java - 在 AWS EMR 自定义 jar 应用程序中指定其他 jar

c# - MySql - 多线程软件,如何锁定行以防止其他线程读取