我正在尝试使用其GUID返回我的sqlite表的特定行。
表"参考"定义为
CREATE TABLE "Reference" ( `ID` GUID, [...], PRIMARY KEY(`ID`) )
当通过SELECT ID FROM Reference
返回所有行时,我得到的GUID值为逗号分隔的小数(加上一个数字(可能为零),最后一个数字之前的数字),例如我的一个结果GUID是20,129,73,9,133,47,79,7,80,130,247,254,95,40,35,29
。
现在,如果我尝试使用此GUID选择整行,我就不会得到任何结果。
示例查询:
SELECT * FROM Reference WHERE ID = '20,129,73,9,133,47,79,7,80,130,247,254,95,40,35,29'
此外,我已经尝试将小数转换为十六进制或ascii值并使用它们 - 但没有成功。
答案 0 :(得分:1)
看起来GUID存储为16字节blob,并且JavaScript代码将它们转换为表示字节的整数数组。但是SQLite用于blob文字的语法是一个带X的前缀十六进制字符串,如下所示:
SELECT * FROM Reference WHERE ID = X'14814909852F4F075082F7FE5F28231D'