比方说,我们有这个SQLite表,其id = number和tags = text:
| id |标签|
| ---- | ------------------- |
| 1 | [“ love”,“ sadness”] |
| 2 | [“爱”] |
| 3 | [“幸福”,“快乐”] |
是否有一种方法仅返回其单元格tags
包含“ love”的行,
就像MySQL中的以下命令:SQLite中的SELECT * from my_table WHERE JSON_CONTAINS(tags, '"love"')
。
我将它与node.js库sql.js
一起使用
PS:IDK如何正确设置表的样式
答案 0 :(得分:2)
我认为这应该有效:
SELECT * from my_table WHERE tags LIKE '%"love"%';
关键字LIKE
可让您查询列中的部分信息,它在WHERE
子句中使用,就像运算符=
,IN
,BETWEEN
注意:
答案 1 :(得分:1)
如果您的sqlite版本的JSON1扩展名为:
SELECT *
FROM my_table
WHERE EXISTS (SELECT 1 FROM json_each(tags) WHERE value = 'love')
ORDER BY id;
将返回
id tags
-- -------------------
1 ["love","sadness"]
2 ["love"]