3

このデータをmysqlで表すにはどうすればよいですか?

16 bit unsigned integer -----Range: 0x0000 - 0xFFF7
64 bit unsigned int.  Depicted as xx:xx:xx:xx:xx:xx:xx:xx -----Range: 0x0000 - 0xFFFFFFFFFFFFFFFF
2 bits ----- 00 - None,  01 - Residential  Security,  10 - High Security
32 bit unsigned int

すべてを文字列に変換し、アプリケーション層で変換する必要がありますか?

4

2 に答える 2

6

MySQLの数値タイプの概要によると:

  • UNSIGNED SMALLINT:範囲は0〜65535です。これは16ビットの符号なし整数には十分です。
  • UNSIGNED TINYINT:範囲は0〜255です。2ビットのunsignedintには十分です。先行ゼロを保持する必要があるようですので、同様に使用しZEROFILLてください。値を2文字幅に保つために、を指定できますUNSIGNED ZEROFILL TINYINT(2)
  • UNSIGNED INT:範囲は0〜4294967295です。32ビットのunsignedintには十分です。
  • UNSIGNED BIGINT:範囲は0〜18446744073709551615です。以下を参照してください。

最後の64ビットunsignedintには、上記のリンク先ページからいくつかの注意点があります。

  • すべての演算は符号付きBIGINTまたはDOUBLE値を使用して行われるため、ビット関数を除いて、9223372036854775807(63ビット)より大きい符号なし整数を使用しないでください。これを行うと、BIGINT値をDOUBLEに変換するときの丸め誤差のために、結果の最後の桁の一部が間違っている可能性があります。
  • 文字列を使用してBIGINT列に格納することにより、常に正確な整数値を格納できます。この場合、MySQLは、中間の倍精度表現を含まない文字列から数値への変換を実行します。
  • -、+、および*演算子は、両方のオペランドが整数値の場合にBIGINT算術を使用します。つまり、2つの大きな整数(または整数を返す関数の結果)を乗算すると、結果が9223372036854775807より大きい場合に、予期しない結果が生じる可能性があります。
于 2011-06-23T22:07:48.930 に答える
1

MySQLはいくつかのデータ型をサポートしています。MySQLデータ型を参照してください

UNSIGNED BIGINT   : 8-byte (64-bit) integer

UNSIGNED INT      : 4-byte (32-bit) integer

UNSIGNED SMALLINT : 2-byte (16-bit) integer

2ビット型の場合は、TINYINT (8-bit)またはENUMデータ型を使用できます。

于 2011-06-23T22:07:57.953 に答える