MySQL で 10 進数にキャストする
-
DECIMAL(M,D)
関数でCAST()
を使用して、MySQL で 10 進数にキャストする -
CONVERT()
をDECIMAL(M,D)
関数と共に使用して、MySQL で 10 進数にキャストする
あるデータ型を別のデータ型にキャストする必要がある場合があります。 CAST()
および CONVERT()
関数と DECIMAL(M,D)
を使用して、MySQL で 10 進数にキャストする方法を次に示します。
DECIMAL(M,D)
関数で CAST()
を使用して、MySQL で 10 進数にキャストする
CAST()
関数を使用して、あるデータ型を別のデータ型に変換できます。 HAVING
、WHERE
、および 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)
を使用する場合、M
は D
以上でなければなりません。 . たとえば、次のクエリの M
は 2
であり、D
は 4
であり、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)