| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Mysql提取表字段中的字符串 -> 正文阅读 |
|
[大数据]Mysql提取表字段中的字符串 |
目录 前言最新生产上遇到一批订单没有给下游推送数据,为了批量补推数据,需要拿到表中的物流单号(waybillCode字段),但是物流单号放在了notify_data中,因此需要提取表该字段中的物流单号。notify_data字段定义如下: ?字段内容示例如下:
初步的想法是看看通过SQL能不能直接提取字段内容。 查询资料发现mysql没有split这样的分割函数,这时候我们就会用到另一种函数了,substring_index()。 1. substring_index()字符串提取
取column_name列以split_char符号为分隔符的前num个字符。
最后的SQL如下:
查询结果如下图: 2. 其他函数?2.1 字符串提取1. substr()与substring() substr()与substring()目前只涉及到下面两种用法:
由于substr()与substring()的用法是完全一样的,所以下面以substr()进行举例 示例:查找提取某一列数据中最后两个位置的字符
?2. left()
取date的前length个字符。 3.? right()
取date的后length个字符。 4. like()与rlike() 当我们取某字符串类型列"column1"中含有‘a’字符的所有记录时,使用like语句或者rlike语句。
2.2?字符串长度本节内容都将计算str1:算bilibili00长度 1. length()
2.?char_length()/character_length()
3. bit_length()
2.3?使用正则首先我们建立一张带有逗号分隔的字符串。 CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); INSERT INTO test(pname,pnum) VALUES('产品5','33,4'); 1. 查找pnum字段中包含3或者9的记录 2. 使用正则 换一种方式
3. select * from oa_student_archives where CONCAT(',',pe_projects,',') like '%,11,%'; 这种方式也可以。 注意: 标红的mysql>?SELECT?*?FROM?test?WHERE?CONCAT(',',pnum,',')?REGEXP?'[^0-9]+[3|9][^0-9]+';? 这种,当时小于10的数据搜索是可以的,但是如果是大于10的,则不能用. 总结如下: 1、select * from oa_student_archives where CONCAT(',',pe_projects,',') like '%,11,%'; 2、select * from oa_student_archives where?find_in_set('12', pe_projects); 以上的两个都可以用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:51:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |