【发布时间】:2021-10-02 05:03:06
【问题描述】:
我有一张表格,在一列中我有工作日作为 JSON 数据。如果查询有一天或一天以上与用户选择匹配,我正在尝试查询以获取结果。
我的桌子:
CREATE TABLE test (id SERIAL, label VARCHAR(16), data VARCHAR(80));
INSERT INTO test VALUES
(null, 'test 1', '["Monday", "Tuesday", "Friday"]'),
(null, 'test 2', '["Thursday", "Friday"]'),
(null, 'test 3', '["Sunday", "Saturday", "Monday"]');
我的查询:
SELECT * FROM test
WHERE JSON_UNQUOTE(JSON_EXTRACT(data, '$[*]')) IN ('Monday', 'Tuesday');
查询应该给我测试 1 和测试 2 作为结果。
这里是DB Fiddle。
【问题讨论】: