2017-02-15 5 views
1

Barcode列のExcel CSVファイルには、次のようなデータがあります。5.06E+12 - 10進数(5.06)、文字(E)、および記号(+)があります。バーコードのデータタイプは何ですか?

Excelでこれを編集しようとすると、番号は5060190000000に変わります。

このタイプのデータをSQL Serverデータベースに保存する場合、データタイプはモデルのBarcodeプロパティのどのようなものにする必要がありますか?

+3

これは文字列として保存する必要があります。 。 。例えば ​​'varchar(10)'と言ってください。しかし、通常、浮動小数点数を格納するのがこのように表現された値なので、Excelで完全な値が表示されます。 –

+1

https://support.office.com/en-us/article/Display-numbers-in-scientific-exponential-notation-f85a96c0-18a1-4249-81c3-e934cd2aae25 –

+0

したがって、varchar(50)はこの例から許容されます5060190000000の長さは10以上ですか? – naz786

答えて

2

最も適切なデータ型を選択してください。実際の製品のバーコードを使用している場合、少しの調査ではおそらくInternational Article Numbersと表示されます。

実際には13桁の文字列なので、char(13)がおそらくこのデータを格納する最も適切なデータ型になります。 varchar(50)にデフォルト値を設定するだけでは十分ではないので、長さの指定を無料の検証と考えてください。

1

これは、E notationと呼ばれ、科学的表記のバリエーションです。問題の数字は整数ですが、省略されています。

5.06 * 10^12 = 5060190000000 

このように、値はあなたの番号を格納するのに十分な大きさの整数として保存する必要があります。

あなたの値は、潜在的な値の長さに合わせるのに十分な長さのvarcharとして保存する必要があります。

+1

範囲に応じて、[bigint](https://msdn.microsoft.com/en-GB/library/ms187745.aspx)が表示されます。 – iamdave

+1

intの最大桁数は10であり、その範囲であっても制限されています。 –

+0

数字が十分に大きい場合、bigintのように、数字を格納するのに十分な大きさの整数が必要であることを反映するように私の答えを編集しました。 – jurgemaister

関連する問題