mysql 中获取字段中特定位置的值
admin
2023-05-23 22:02:46
0

mysql 中获取字段中特定位置的值

例如有如下两条数据:

mysql> select * from t;
+--------------------------+
| name                     |
+--------------------------+
| 江苏 盐城 大丰区         |
| 盐城 机场代码(YNZ)       |
+--------------------------+

想要获取到以空格分隔的第三列数据,可以使用substring_index() 函数

mysql> select substring_index(name,' ',-1) as addr from t limit 1;
+-----------+
| addr      |
+-----------+
| 大丰区    |
+-----------+

substring_index(列名,分隔符,索引),索引指从第几个字符开始,-表示倒序,第一个位置从1开始,不是0

想要获取括号中的数据使用sql语句可以这样做:

mysql> select substring_index(substring_index(name,'(',-1),')',1) as a from t limit 1,1;
+------+
| a    |
+------+
| YNZ  |
+------+


当字段中值比较复杂时,可以写脚本处理,python 库中有很多处理数据的模块,下面是自己之前写的脚本的一部分

import re
import os


def main():
    """此处将数据库结果存储成文件(由于是异构数据库,没有安装驱动,
    如果是mysql数据库可直接连接数据库读数据),字段以‘,’分隔,也可以使用其他分隔符"""
    with open('C:/Users/user/Desktop/1.txt', 'r') as f:
        while 1:  # 死循环
            line = f.readline()  # 一次读一行
            if not line:  # 没有数据时退出
                break
            server_room, host, wip, lip, server_role_id, raid, cpu, disk, cip, provider, model, mem, os, os_version, tip, port, vip, p_version = line.split(',')
            # 将行分隔成字段

            # port store
            try:
                vip = re.split('(|\(|)|\)|\||,', vip)  # 清洗数据,去除vip字段中的‘()’,‘|’等符号,生成列表
                while '' in vip:
                    vip.remove('')  # 移除''字符
                while ' ' in vip:
                    vip.remove(' ')
                    vip_w = vip[0]  # 取出第一条数据,可以进行其他的处理,例如存入文件,或直接结果存入数据库

            except Exception as e:
                print('error:', e)


if __name__ == '__main__':
    main()


相关内容

热门资讯

德瑞斯电子取得新型散热风扇专利... 国家知识产权局信息显示,深圳市德瑞斯电子科技有限公司取得一项名为“一种新型散热风扇”的专利,授权公告...
新兴技术及应用产业日报(05.... 公司动态 中国移动段晓东:6G智能体通信——智能经济发展新范式 中国移动研究院副院长段晓东在...
2026年618购机指南:50... 随着618购物节的临近,许多消费者都在寻找一款预算在5000元左右,既能满足日常高强度拍照需求,又无...
体育博物馆如何在互联网时代维持... 上海体育博物馆正在利用更多科技与智能,让游客能够沉浸式逛展。 博物馆如何在当今人工智能盛行的互联网时...
万斯大型失忆现场:呼吁投票反对... 美国副总统JD・万斯近日深陷网络群嘲。他呼吁支持者“投票反对华盛顿疯狂的领导层”,似乎忘了如今是谁在...
原创 在... NASA的气候模拟研究显示:40 亿年前,太阳刚形成不久,亮度只有现在的70%,整个太阳系比现在凉爽...
24岁演员,骑机车意外离世 近日,24岁短剧男演员黄子仟被曝离世,好友任九晗发文悼念,称从没想过再次见面,是看着你从冷柜里被抬出...
800元免费领,让养老院“头疼... “没想到,都快5月了,在我们这么大的社区,我是第一个申领养老消费券的人。”4月下旬,在90多岁父亲出...
方太燃气灶打不上火是什么原因? 可能是燃气灶 没有开燃气阀,有的时候是忘记开燃气阀门了;可能是燃气灶喷嘴堵塞,影响喷嘴点燃燃气;还可...
带熄火保护的燃气灶不出气怎么办 开启开关出现了故障,如果是带熄火保护的燃气灶由于使用年限过长,导致出现问题,则意味着无法正常进行使用...