MySQL で 10 進数にキャストする

Mehvish Ashiq 2023年6月20日
  1. DECIMAL(M,D) 関数で CAST() を使用して、MySQL で 10 進数にキャストする
  2. CONVERT() DECIMAL(M,D) 関数と共に使用して、MySQL で 10 進数にキャストする
MySQL で 10 進数にキャストする

あるデータ型を別のデータ型にキャストする必要がある場合があります。 CAST() および CONVERT() 関数と DECIMAL(M,D) を使用して、MySQL で 10 進数にキャストする方法を次に示します。

DECIMAL(M,D) 関数で CAST() を使用して、MySQL で 10 進数にキャストする

CAST() 関数を使用して、あるデータ型を別のデータ型に変換できます。 HAVINGWHERE、および JOIN 句でよく使用されます。

コード例:

SELECT CAST(15 AS DECIMAL(4,2)) AS Decimal_Value;

出力:

+---------------+
| Decimal_Value |
+---------------+
|        15.00  |
+---------------+
1 row in set (0.00 sec)

上記のクエリを考慮して、int から decimal に変換しました。 10 進数データ型に変換するには、精度と位取りを指定する必要があることに注意してください。

2つのパラメータを取る DECIMAL(M,D) 関数を使用しました。 最初のパラメーターは精度を表し、2 番目のパラメーターはスケールを表します。

精度は有効桁数を示し、スケールは小数点以下の桁数を示します。

上記の例では、4 が精度で、2 が位取りです。 15 と書く代わりに列名を記載することもできます。

MySQL のドキュメント によると、FLOAT(M,D)DECIMAL(M,D)、または DOUBLE(M,D) を使用する場合、MD 以上でなければなりません。 . たとえば、次のクエリの M2 であり、D4 であり、M>=D という条件を満たさず、エラーが発生します。

SELECT CAST(15 AS DECIMAL(2,4)) AS Decimal_Value;

DECIMAL(M,0) の構文は DECIMAL(M) と同等であることを常に覚えておいてください。 同様に、10 進数の構文は、DECIMAL(M) および DECIMAL(M,0) と同等です。ここで、M のデフォルト値は 10 です。

次のクエリはすべて同じ出力を生成します。

コード例:

SELECT CAST(15 AS DECIMAL(4,0)) AS Decimal_Value;
SELECT CAST(15 AS DECIMAL(4)) AS Decimal_Value;
SELECT CAST(15 AS DECIMAL) AS Decimal_Value;

出力 (上記の 3つのクエリすべてに対して):

+---------------+
| Decimal_Value |
+---------------+
|            15 |
+---------------+
1 row in set (0.00 sec)

CONVERT() DECIMAL(M,D) 関数と共に使用して、MySQL で 10 進数にキャストする

CONVERT()DECIMAL(M,D) 関数と共に使用して、int から 10 進数にキャストすることもできます。 これは、上で説明した CAST() 関数に似ています。

コード例:

SELECT CONVERT(15, DECIMAL(4,2)) AS Decimal_Value;

出力:

+---------------+
| Decimal_Value |
+---------------+
|         15.00 |
+---------------+
1 row in set (0.00 sec)
著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - MySQL Decimal