ホームページ >データベース >mysql チュートリアル >mysql 通貨はどのフィールド タイプを使用しますか?

mysql 通貨はどのフィールド タイプを使用しますか?

青灯夜游
青灯夜游オリジナル
2020-10-06 10:03:244177ブラウズ

mysql では、通貨は Decimal 型と Numric 型のフィールドで表されることがよくあります。これら 2 つの型は MySQL によって同じ型として実装され、値を保存するために使用され、値の精度は非常に重要です。 、お金関連のデータなど。

mysql 通貨はどのフィールド タイプを使用しますか?

# 開発中、通貨は通常、データベース内で Decimal 型と Numric 型で表され、これら 2 つの型は MySQL によって同じ型として実装されます。これらは、金銭関連のデータなど、正確な精度が非常に重要な値を保存するために使用されます。クラスをこれらの型のいずれかとして宣言する場合、精度と位取りを指定できます (そして通常は指定されます); 例:

salary DECIMAL(9,2)

この例では、9 (精度) は、指定される値の総数を表します。値を格納するために使用され、小数点以下の桁数、2(scale) は格納に使用される小数点以下の桁数を表します。したがって、この場合、給与列に格納できる値の範囲は、-9999999.99~9999999.99となります。

DECIMAL 値と NUMERIC 値は、それらの値の 10 進精度を維持するために、2 進浮動小数点数ではなく文字列として格納されます。値の各桁に 1 文字、小数点 (スケールが 0 より大きい場合)、および「-」記号 (負の値の場合)。スケールが 0 の場合、DECIMAL および NUMERIC 値には小数点または小数部が含まれません。

float や double を使用しない理由: float や double はバイナリで格納されるため、何らかのエラーが発生します。

例: データベースでは、c1、c2、c3 のストレージ タイプはそれぞれ float (10.2)、10 進数 (10.2)、float タイプです。

データの挿入:

INTO test (c1,c2,c3) VALUES (1234567.23,1234567.23,1234567.23)

データベースへのデータ保存の結果は次のとおりです。 :

float 型ストレージを使用する際に何らかのエラーがあることがわかります。したがって、10 進数または数値型を使用してください。

推奨チュートリアル: mysql ビデオ チュートリアル

以上がmysql 通貨はどのフィールド タイプを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。