gpt4 book ai didi

mysql - SQL语句中字符串的正则表达式

转载 作者:行者123 更新时间:2023-11-29 22:12:23 26 4
gpt4 key购买 nike

我有一个包含以下列和示例数据的表格

File Name            | Status'xxx_2015-07-20.csv' | Completed'xxx_2015-07-19.csv' | Completed'xxx_2015-07-18.csv' | Failed..'xxx_2015-06-01.csv' | Failed

Now I have two scenarios in my application (PHP-MySQL):

1) I have to fetch the status of today's file. I can do it like this:

select status from myTable where file_name like '%date(Y-m-d)%';

2) 我想获取从今天起 1 个月以来生成的所有文件的状态。假设今天是 2015 年 7 月 20 日,那么应该会显示 2015 年 6 月 20 日的文件。由于没有日期列,我无法应用比较运算符并获取结果。我相信它需要一些正则表达式的使用。

我不熟悉正则表达式,因此我们将不胜感激。

最佳答案

如果模式相同,即xxx_2015-07-20.csv,您可以使用substring_index函数获取日期值

mysql> select substring_index(substring_index('xxx_2015-07-20.csv','_',-1),'.',1) as d;
+------------+
| d |
+------------+
| 2015-07-20 |
+------------+

现在使用相同的方法,您可以将 select 语句设置为

select status from myTable 
where
substring_index(
substring_index(file_name,'_',-1),
'.',1
) = curdate();

关于mysql - SQL语句中字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com