TEXT
16 進数を含む列を持つテーブルがあります。私は今、それらを実際の整数として表現する必要がありますが、それを行う方法が見つかりませんでした (to_hex()
逆のようなもの)。
次のようにリテラル16 進数値を変換できることを認識しています。
SELECT x'DEADBEEF';
しかし、変換する値が列からのものである場合、どうすればこのようなものを適用できますか? 列名への連結'x'
は、文字列リテラルではなくなるため、明らかに機能しません。
PostgreSQL メーリング リストで、関数の引数が再びリテラルになるようにクエリ文字列をつなぎ合わせてからその関数を実行する非常に醜い関数を見つけましたが、そのアプローチは実にひねくれています。仕方。メッセージがほぼ 10 年前のものであることを考えると、少なくともそう願っています…</p>
もちろん、最初に問題の値を整数としてデータベースに格納することが最善の方法であることはわかっています。しかし、この場合、これは不可能なので、それらの文字列を解読しようとして立ち往生しています…)