20

一連の GUID を 16 進文字列として返すこの単純なクエリがあります。

SELECT HEX(guid) FROM table;

それらの 1 つは、たとえば43F4124307108902B7A919F4D4D0770Dです。次に、この GUID でレコードを取得したいと考えて、次のようなクエリを作成します。

SELECT * FROM table WHERE guid = '43F4124307108902B7A919F4D4D0770D';

もちろん、文字列は blob として直接解釈され、16 進値に変換されないため、これは機能しません。hereを見ましたが、16進数の文字列を取得してblobに変換するメソッドのように見えるものは見つかりませんでした。

4

1 に答える 1

34

質問を書いているうちに答えが見つかりました。文字列の前に X を追加するだけでした。このような:

SELECT * FROM table WHERE guid = X'43F4124307108902B7A919F4D4D0770D';

「類似の質問」のどれもこれに答えないので、とにかく質問を投稿する必要があると考えました。私が探していたのは関数ではなくリテラルであり、これに気付いたとき、すぐに答えを見つけましたhere

于 2013-11-05T08:21:37.027 に答える