免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6161 | 回复: 0
打印 上一主题 下一主题

[文本处理] 各位大神有空了帮忙解决下问题,谢谢, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2020-12-17 09:06 |显示全部楼层 |倒序浏览
【需求】:将file文件中,每行内容数字出现的个数大于2的话,将其进行语句内容替换
    如:FQ.`pay` AS '[`pay`].是否启用1.启用2.禁用34.测试',  
        该行内容:出现数字 1、2、34 共计3个数字
        那么按照【需要结果】进行 输出,将该行修改为如下内容进行输出:
        
    使用:意思理解了,用 awk 或者 sed 都可以
   
        (CASE
            WHEN FQ.`pay`=1 THEN '1.启用'
            WHEN FQ.`pay`=2 THEN '2.禁用'
            WHEN FQ.`pay`=34 THEN '34.测试'        
        END) AS '是否启用',


【file内容】:

SELECT
    FQ.`id` AS '[`id`].ID',

    FQ.`pay` AS '[`pay`].是否启用1.启用2.禁用34.测试',
    FQ.`sex` AS '[`sex`].性别1.男的2.女的',
   
    FQ.`updated_at` AS '[`updated_at`].更新时间'
FROM `testtb`
AS FQ

-- ==========================================================

【需要结果】:

SELECT
    FQ.`id` AS '[`id`].ID',
   
    (CASE
        WHEN FQ.`pay`=1 THEN '1.启用'
        WHEN FQ.`pay`=2 THEN '2.禁用'
        WHEN FQ.`pay`=34 THEN '34.测试'        
    END) AS '是否启用',


    (CASE
        WHEN FQ.`sex`=1 THEN '1.男的'
        WHEN FQ.`sex`=2 THEN '2.女的'   
    END) AS '性别',


    FQ.`updated_at` AS '[`updated_at`].更新时间'
FROM `testtb`
AS FQ


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP