SQLite:如何读取保存为字符串的数组并使用数组?



由于某种原因,我的.db文件有一个带有Column1table1,其中数据存储为TEXT

Column1
'[1,   2,   0.5]'
'[50,  8.5, 30]'
'[12,  14,  0.5]'
'[5,   45,  25]'
'[0.2, 10,  25]'

这些数据采用 TEXT 格式,尽管它们看起来像 Array。

我想将数据用作数组。

确切地说:我想删除行,其中第二项小于 15。 期望的结果应该是:

Column1
'[5,   45,  25]'

我自己尝试了很多方法,但没有一个奏效。我的许多尝试之一看起来像:(我承认我完全不知道如何完成这项任务。

DELETE FROM table1 WHERE Column1 <= 15;

有人可以帮我吗?非常感谢!

Sqlite 没有真正的数组类型。但是,它确实支持使用 JSON(当然,假设您的 sqlite 实例是使用 JSON1 扩展编译的(。您的示例值恰好是有效的 JSON 数组。

这为我们提供了一些可以使用的东西:

DELETE FROM table1 WHERE json_extract(column1, '$[1]') < 15;

最新更新