mathematicaの制約のため、BigIntegerクラスを使用して値を表現しました。私は、MySQLに(2倍のBigIntegerインスタンスによって与えられた)結果を保存したいと思いますいくつかの計算後BigIntegerをMysqlに格納
...
、このようなオブジェクトを格納するための最良のデータ型は何ですか?
私はBlobを使用して結果(128ビット)のバイナリ形式を保存することを考えていましたか?しかし、私は不要な型変換を避けたいと思います。示すように
mathematicaの制約のため、BigIntegerクラスを使用して値を表現しました。私は、MySQLに(2倍のBigIntegerインスタンスによって与えられた)結果を保存したいと思いますいくつかの計算後BigIntegerをMysqlに格納
...
、このようなオブジェクトを格納するための最良のデータ型は何ですか?
私はBlobを使用して結果(128ビット)のバイナリ形式を保存することを考えていましたか?しかし、私は不要な型変換を避けたいと思います。示すように
MySQLはBIGINTデータ型を持つ:http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
あなたは私の意見にそれが全体の多くは、より複雑になり、バイナリ形式への変換を行うことではなく、そのためにBIGINTを使用しようとすることができます。
MySQL Type Java Type
----------------------------------------
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte []
VARBINARY byte []
LONGVARBINARY byte []
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Tiimestamp
MySQLでbigInteger
値を格納するために、我々は文字列として保存することができます:
はstring
へbiginteger
を変換します
String s=bigint_value.toString();
ストアs
テーブルのフィールドはtext
です。例えば我々は、フィールドbig_value_as_string
を持つbig_values
という名前のテーブルにs
を格納する場合:
CREATE TABLE big_values (big_value_as_string text);
値は現在保存されています。
我々がしなければなりません取得するには:
がテーブルから文字列値を取得します。
String bg = rs.getString("big_value_as_string");
bigInteger
型に文字列を変換します
BigInteger b = new BigInteger(bg);
bigintで十分ですか? (ちょうど8バイトです) – cristian