php - 根据具有 json 字符串的列搜索 mysql 记录

标签 php mysql json

我想使用具有 json 字符串的列来查询 mysql 表中的记录。由于我正在工作一个旧项目,使用的 Mysql 版本是 5.0,因此,我无法使用 mysql 5.7 json 函数,例如JSON_CONTAINS 等等等

select * cpd_company where operation_data = '{"opening_status":"open", "days": ["Mon"]}';

operation_data 列包含这样的 json 字符串:

{"days":["Mon","Fri"],"open_hour":"12:00 AM","close_hour":"12:30 PM","operating_type":"daily","opening_status":"open","journey_type":"Departure"}

这不起作用,因为该列是文本数据类型,并且提供的字符串不等于完整字符串。

有人可以帮忙吗?谢谢

最佳答案

如果您不想重新组织数据库结构,也许您应该尝试 LIKE '%{$needle}%' 和其他字符串函数?

据我从您的示例中看到,您可以拆分查询以获得所需的结果:

1) 第一个查询将选择带有 "opening_status":"open"针的条目,

2) 第二个 - 带“Mon”针

3) 您应该找到这两个查询结果的交集

仅当您只有一个 "Mon" 条目时,以下内容才有效,但我相信您会在很少有 "的情况下使用 MySql 字符串函数找到解决方法JSON 字符串中的 Mon”。

关于php - 根据具有 json 字符串的列搜索 mysql 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46153637/

相关文章:

python - sqlalchemy中执行之前如何知道sql查询结果的类型

javascript - 解析 JSON 对象 - Angularjs + PHP

php - 商店设置中的 Opencart 3 多语言字段

MySQL:LEFT JOIN 和 ORDER BY 的组合很慢

php - 如何从 MySQL 表数据 PHP 创建 PDF 文档

php - MySQL UPDATE 或 INSERT 取决于 ID 的存在

ios - swift:将传入的 json 数组转换为字典和对象

javascript - 将 php 作为 "return value"回显到 ajax 调用

php - 我应该使用什么类条目来从 C 扩展中抛出非默认异常?

PHP - 从不同的服务器连接到mysql数据库