gpt4 book ai didi

MySQL 从具有过滤功能的文本列中选择

转载 作者:行者123 更新时间:2023-11-29 02:10:47 26 4
gpt4 key购买 nike

我想查询一个 MySQL 5 的数据库。

假设数据库名称是db,表名称是table,列名称是column

那一列是文本

例如包含以下内容:

aksksksksjsjk&ct=100&rxp=0918&rpa=100
aksksksksjsjk&ct=100&rxp=1018&ls=1

所以我想查询该表并仅在 rxp > 0918

处进行 grep

所以我希望结果是:

aksksksksjsjk&ct=100&rxp=1018&ls=1

我尝试使用 SELECT column FROM db.table WHERE column LIKE '%rxp=1018%' 并且它正在工作!但这意味着我需要手动插入所有日期!

最佳答案

假设 rxp= 之后的值在格式 MMYY 中的长度始终为 4,那么以下内容应该可以解决问题。请注意,由于您的日期是字符串格式,因此我们需要分别对月份和年份进行检查。

SELECT *
FROM db.table
WHERE LEFT(SUBSTRING_INDEX(testColumn, 'rxp=', -1), 2) > '09'
AND MID(SUBSTRING_INDEX(testColumn, 'rxp=', -1), 3, 2) >= '18'

假设您在 column 下有以下值:

aksksksksjsjk&ct=100&rxp=0918&rpa=100
aksksksksjsjk&ct=100&rxp=1018&ls=1
aksksksksjsjk&ct=100&rxp=1116&ls=1

查询的输出应该是

aksksksksjsjk&ct=100&rxp=1018&ls=1

但是,我强烈建议您规范化表格并将每个值存储在单独的列中(ctrxprpals 等),而不是将大量信息合并到一个字符串中。

关于MySQL 从具有过滤功能的文本列中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205251/

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