在SQLite中与HEX()相反?
我有一个简单的查询,它以十六进制字符串的形式返回一堆GUI:在SQLite中与HEX()相反?,sqlite,hex,Sqlite,Hex,我有一个简单的查询,它以十六进制字符串的形式返回一堆GUI: SELECT HEX(guid) FROM table; 例如,其中之一是43F4124307108902B7A919F4D4D0770D。然后假设我想要获取具有此guid的记录,因此我编写了如下查询: SELECT * FROM table WHERE guid = '43F4124307108902B7A919F4D4D0770D'; 当然,这不起作用,因为字符串被直接解释为blob,而不是转换为它的十六进制值。我看了,但找不
SELECT HEX(guid) FROM table;
例如,其中之一是43F4124307108902B7A919F4D4D0770D
。然后假设我想要获取具有此guid的记录,因此我编写了如下查询:
SELECT * FROM table WHERE guid = '43F4124307108902B7A919F4D4D0770D';
当然,这不起作用,因为字符串被直接解释为blob,而不是转换为它的十六进制值。我看了,但找不到任何类似于接受十六进制字符串并将其转换为blob的方法。在写问题时,我找到了答案。我只需要在字符串前加一个X。像这样:
SELECT * FROM table WHERE guid = X'43F4124307108902B7A919F4D4D0770D';
我想我还是应该把问题贴出来,因为没有一个“类似的问题”能回答这个问题。我寻找的不是函数,而是文字,当我意识到这一点时,我很快找到了答案。间接回答了你的问题。为什么不使用
SELECT*FROM-table-WHERE-guid='HEX(43f4124307108902b7a919f4dd070d)
?