本文作者:kris

Mysql字符串截取及获取指定字符串中的数据-mysql字符串截取及获取指定字符串中的数据

kris 2025-01-29 16:12:04 2
Mysql字符串截取及获取指定字符串中的数据-mysql字符串截取及获取指定字符串中的数据摘要: mysql如何截取正则表达式的内容?mysql中的正则表达式是一种匹配,用于筛选出满足条件的记录。我们需要利用其它的函数或者手段才能截取出正则表达式中的内容。mysql中的正则表达...

mysql如何截取正则表达式的内容?

mysql中的正则表达式是一种匹配,用于筛选出满足条件的记录。我们需要利用其它的函数或者手段才能截取出正则表达式中的内容。

mysql中的正则表达式

mysql中用regexp这个关键字表示正则表达式的匹配,常用的正则表达式模式,mysql都支持,和PhP或者 PERL中脚本语言比较相似。

  • ^表示匹配字符串的起始位置;

  • $表示匹配字符串的结束位置;

  • *表示匹配前面字符的零次或者多次;

  • ?表示0或者1个匹配;

  • +表示1或者多个匹配

  • {n}表示匹配n个;

  • [0-9]表示数字的0-9匹配。

select name from person where name regexp '^王' 表示匹配姓名中王姓开头的记录

截取正则表达式中的内容

截取内容一般会用到字符串截取的相差函数,mid或者substr,即截取某一部分字符串的内容做为我们想要的结果。当然对于一些简单的内容截取,left\right函数都是可以直接使用的。

比如,我们希望获取访问了某个子目录的浏览量及用户数,就可以通过regexp进行匹配,然后再进行截取。

select create_date,local_url from page_view regexp '^https://' limit 0,100

Mysql字符串截取及获取指定字符串中的数据-mysql字符串截取及获取指定字符串中的数据

我们希望统计出子目录形如member,articl下的页面访问情况,这个时候我们就可以结合字符串截取函数就可以截取出想要的结果,

select create_date,local_url,instr(local_url,'/member/') url_index, (case when (local_url regexp '^http(s)?://([\w-]+\.).*/member/.*') then mid(local_url,1,instr(local_url,'/member/')+length('/member/')-1) else null end) cat_url from page_view limit 0,100;

执行该SQL语句,我们就可以截取出子目录的数据,根据截取出来的数据,进一步就可以进行统计得到我们期望的结果。

Mysql字符串截取及获取指定字符串中的数据-mysql字符串截取及获取指定字符串中的数据

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/28535.html发布于 2025-01-29 16:12:04
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享