TGTGInsighttelegram intelligenceLIVE / telegram public index
Post content
帖子内容
SQLite 支持一些处理 JSON 的函数,可以直接对 JSON 格式的列进行查询和建立索引,看似很方便,但要当心: 1. json('{"a/b": 1}') != json('{"a\/b": 1}') 虽然在 JSON 的意义上两个 object 是一样的,但 SQLite 认为是不等的。 2. json_extract('{"a\/b": 1}', '$.a/b') is null 类似地,json_extract('{"\u0031":1}', '$.1') is null 类似地,json_extract('{"\u6211":1}', '$.我') is null 这个问题只在老版本的 SQLite 上存在,最新版本已经修复了。 感觉很坑,因为很多时候我是没法控制我用的 JSON 库怎么 escape 各种字符的,例如 / 这个字符其实不必 escape,但有的库会把它 escape 成 \/,进了 SQLite 后就会出现匹配不到 key 的问题。