我有这个简单的查询,返回一堆guid作为十六进制字符串:
SELECT HEX(guid) FROM table;
Run Code Online (Sandbox Code Playgroud)
其中一个是例如43F4124307108902B7A919F4D4D0770D.然后想象我想用这个guid获取记录,所以我写了一个这样的查询:
SELECT * FROM table WHERE guid = '43F4124307108902B7A919F4D4D0770D';
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为字符串直接被解释为blob而不是转换为它的十六进制值.我看了这里,但找不到任何看起来像是一个十六进制字符串并将其转换为blob的方法.
Eri*_*k B 24
在写这个问题时,我找到了答案.我只需要在字符串之前添加一个X. 像这样:
SELECT * FROM table WHERE guid = X'43F4124307108902B7A919F4D4D0770D';
Run Code Online (Sandbox Code Playgroud)
我想我还是应该发布这个问题,因为"类似问题"没有回答这个问题.我一直在寻找的不是功能,而是一个文字,当我意识到这一点,我很快找到了答案在这里.
| 归档时间: |
|
| 查看次数: |
7239 次 |
| 最近记录: |