2

binid というフィールドにバイナリ (16) UUID であるプライマリ キューがあります。SELECT ステートメントでバイナリ ID を含む すべて
の列を 取得したいと思います。

「SELECT * FROM TABLE」を実行できることはわかっていますが、HEX(binid) と組み合わせるにはどうすればよいですか?

これは、個々のフィールドを取得するときに機能します。「SELECT HEX(binid) AS binid FROM TABLE」
ですが、すべてのフィールドについて言及したくありません (多すぎます)。1 つのステートメントで ALL と HEX を取得する方法はありますか?

PS。私はstackoverflowの質問に基づいて作成しています: How to store uuid as number?

4

3 に答える 3

1

選択する*と、変換なしですべてのフィールドがそのまま選択されます。フォーマットを変更してそれらを選択するには、選択したいすべてのフィールドを で区切って指定する必要があります,

例えば:

SELECT HEX(`binid`) as `bindid`, `name`, FROM_UNIXTIME(`birthday`) as `birthday`, `gender` FROM `table`;

変換はいくつでも適用できます。

これを行うこともできます:

SELECT HEX(`binid`) as `hexdid`, * FROM `table`;

この場合、結果にはbinidという名前の 16 進形式と、テーブルの他のフィールドを含むhexid元の形式の両方が含まれます。binid

于 2013-04-16T22:39:01.250 に答える
0

あなたがすることができます:

Select *, HEX(binid) as clearBinId from Table

これにより、すべての列 (binid を含む) が選択され、HEX(binid) が「clearBinId」という列として選択されます。

于 2013-04-16T22:38:33.260 に答える
0
select col1, col2, col3 from table

たとえば、テーブルが T と呼ばれ、次のように設定されている場合:

        T
=================
| binid | A | B |
| 0     | 1 | a |
| 1     | 2 | b |
| 10    | 3 | c |

select hex(binid), A, B from table
于 2013-04-16T22:36:42.583 に答える