由于某种原因,我的.db
文件中有一个table1
和一个Column1
,这些数据存储为TEXT
:
Column1
'[1, 2, 0.5]'
'[50, 8.5, 30]'
'[12, 14, 0.5]'
'[5, 45, 25]'
'[0.2, 10, 25]'
这些数据虽然看起来像数组,但都是TEXT格式。
我想将数据用作数组。
准确地说:我想删除第二行小于15的行。 理想的结果应该是:
Column1
'[5, 45, 25]'
我自己尝试了很多方法,但是没有一个起作用。我的许多尝试之一如下:(我承认我完全不知道如何执行此任务。)
DELETE FROM table1 WHERE Column1 <= 15;
有人可以帮我吗?非常感谢!
答案 0 :(得分:1)
Sqlite没有真正的数组类型。但是,它确实支持使用JSON(当然,假设您的sqlite实例是使用JSON1扩展名编译的)。而且您的样本值恰好是有效的JSON数组。
这使我们可以合作:
DELETE FROM table1 WHERE json_extract(column1, '$[1]') < 15;