You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle数据库:如何为FRUITS列字符串每隔3个字符插入空格?

实现水果名称按3字符分组拆分并格式化

方法一:MySQL 自定义函数实现

先创建处理单个字符串的自定义函数,统一格式后按3字符分段拼接:

DELIMITER //
CREATE FUNCTION split_fruit_name(fruit VARCHAR(100)) 
RETURNS VARCHAR(200)
DETERMINISTIC
BEGIN
    DECLARE result VARCHAR(200) DEFAULT '';
    DECLARE len INT DEFAULT LENGTH(fruit);
    DECLARE pos INT DEFAULT 1;
    DECLARE part VARCHAR(10);
    
    -- 统一为首字母大写、其余小写的格式
    SET fruit = CONCAT(UPPER(LEFT(fruit, 1)), LOWER(SUBSTRING(fruit, 2)));
    
    WHILE pos <= len DO
        SET part = SUBSTRING(fruit, pos, 3);
        SET result = CONCAT(result, IF(result = '', '', ' '), part);
        SET pos = pos + 3;
    END WHILE;
    
    RETURN result;
END //
DELIMITER ;

调用函数处理目标列:

SELECT split_fruit_name(FRUITS) AS formatted_fruit
FROM your_table;

测试验证:

Banana → Ban ana
Watermelon → Wat erm elo n
pomegranate → Pom meg ran ate

方法二:Python Pandas 实现

通过apply结合字符串切片完成格式化:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({'FRUITS': ['Banana', 'Watermelon', 'pomegranate']})

def format_fruit(name):
    # 统一格式
    name = name.capitalize()
    # 按3字符分段后拼接
    return ' '.join([name[i:i+3] for i in range(0, len(name), 3)])

# 生成格式化后的列
df['formatted_fruit'] = df['FRUITS'].apply(format_fruit)

# 输出结果
print(df['formatted_fruit'])

输出结果:

0        Ban ana
1    Wat erm elo n
2    Pom meg ran ate
Name: formatted_fruit, dtype: object

内容的提问来源于stack exchange,提问作者anyaplayer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:35:29