私のテーブルには、128ビットの符号なし数値であることがわかっている列があり、base-10にvarcharとして格納されています。
"25495123833603613494099723681886"
この数値のビット フィールドはわかっているので、上位 64 ビットを使用したいと考えていますGROUP BY。
私の例では、上位の 64 ビットは次のようになります。1382093432409
方法は見つかりませんでしたが、いくつかのリードを排除しました:
- これらも64ビットであるため、
NUMERIC/に変換できませんDECIMAL - は base-10 で整列されていない
LEFT()ため使用できません1<<64 CONV(N,10,16)許可しますLEFT()がCONV()、64ビット精度でも機能します:(
BIGINTこの数値の上位 64 ビットを取得するにはどうすればよいGROUP BYですか?