你好,我正在try 格式化一个给定的字符串,使其对数字和字符进行分组,并在其间放置空格‘’. 例如,给定的字符串:01ABC23fg98 应给出输出:01 ABC 23 FG 98

有什么建议吗?

我try 了REGEXP_REPLACE(INPUT_STRING,‘’,‘’) 相反的操作(它删除给定字符串中的空格)

推荐答案

如果我们将REGEXP_REPLACE()与捕获组一起使用,则可以执行此操作:

SELECT input_String,
       TRIM(REGEXP_REPLACE(input_String, '([A-Za-z]+)', ' \1 ')) AS output_String
FROM yourTable;

演示

此正则表达式替换将所有字母字子字符串替换为两侧用空格括起来的相同的子字符串.请注意,这可以有效地将字母字节子串与数字子串分开.外部调用TRIM()是必要的,因为如果字母单词出现在输入字符串的开头或结尾,替换将导致前导或尾随空格.

Sql相关问答推荐

判断Pyspark生成的SQL查询

Select /过滤postgr中的树 struct

SQL(PostgreSQL)从条件创建点表

用于动态查询情况的存储过程常识模式

为什么TRY_CONVERT返回一个XML验证错误而不是NULL?

数据库SQL-CTE命名空间(错误?)使用临时视图

最小非重复集的SQL查询

VS代码无法识别SQL代码中带括号的字符串

将 jsonb 数组中的对象取消嵌套到单独的行中

在 SQL Server 中查找重复项

当 2 列具有静态值并且第 3 列使用运算符 IN 时,对 PostgreSQL 和 3 列上的复杂索引的最佳查询

验证某个日期前后的连续代码

根据不同日期标准分配组的逻辑

如何根据共同列值从两个表中包含列,但只包含左表中的行

每个ID的SQL返回可能的最低级别及其值

当该日期的至少两条记录具有相同的持续时间或至少一条记录的持续时间为 0 时,如何标记该日期的所有记录

for each 客户查找每个类别的最新评分

将 MERGE 语句与 Oracle PL/SQL 表类型一起使用时,导致无效数据类型错误的原因是什么?

postgres按组消除分区中的NULLS

创建一个将层次 struct 级别放入列中的查询