2011-09-09 12 views

答えて

46

それは私がちょうどCAST()説明にDECIMALがありませんでしたが判明:

DECIMAL[(M[,D])]

DECIMALデータ型に値を変換します。オプションの引数MとDは、小数点以下の桁数(Mは桁数を指定します)と小数点以下の桁数(Dは桁数を指定します)を指定します。デフォルトの精度は、小数点以下2桁です。

したがって、次のクエリでは、働いていた:

UPDATE table SET 
latitude = CAST(old_latitude AS DECIMAL(10,6)), 
longitude = CAST(old_longitude AS DECIMAL(10,6)); 
4
mysql> SELECT CAST(4 AS DECIMAL(4,3)); 
+-------------------------+ 
| CAST(4 AS DECIMAL(4,3)) | 
+-------------------------+ 
|     4.000 | 
+-------------------------+ 
1 row in set (0.00 sec) 

mysql> SELECT CAST('4.5s' AS DECIMAL(4,3)); 
+------------------------------+ 
| CAST('4.5s' AS DECIMAL(4,3)) | 
+------------------------------+ 
|      4.500 | 
+------------------------------+ 
1 row in set (0.00 sec) 

mysql> SELECT CAST('a4.5s' AS DECIMAL(4,3)); 
+-------------------------------+ 
| CAST('a4.5s' AS DECIMAL(4,3)) | 
+-------------------------------+ 
|       0.000 | 
+-------------------------------+ 
1 row in set, 1 warning (0.00 sec) 
+2

を私が行ったように ')' CAST'と '(間にスペースを入れないでください。 'エラーコード:1064.あなたはSQL構文にエラーがあります' – SBF

関連する問題