* FLOAT型にCASTする [#uf62b175]

** MySQLのCAST()はFLOATは指定できない [#a6f19796]
- CAST(1 AS FLOAT)はダメ。
- 指定できるのは、DECIMALやSIGNED、UNSIGNED、DATETIMEなど。
- https://dev.mysql.com/doc/refman/5.6/ja/cast-functions.html#function_cast


** FLOATの代わりにDECILAML()を指定する [#cb97914c]

 MySQL> SELECT CAST(123 AS DECIMAL(10,2));
 +----------------------------+
 | CAST(123 AS DECIMAL(10,2)) |
 +----------------------------+
 |                     123.00 |
 +----------------------------+
 1 row in set (0.00 sec)


** DECIMAL()の引数について [#uebe57ed]

** DECIMAL() [#uebe57ed]
 MySQL> SELECT CAST(123 AS DECIMAL(10,2));
 +----------------------------+
 | CAST(123 AS DECIMAL(10,2)) |
 +----------------------------+
 |                     123.00 |
 +----------------------------+
 
 MySQL> SELECT CAST(123 AS DECIMAL(3,2));
 +---------------------------+
 | CAST(123 AS DECIMAL(3,2)) |
 +---------------------------+
 |                      9.99 |
 +---------------------------+

- DECIMAL()の引数の1つ目が全体の桁数。2つ目が小数点以下の桁数。
- したがって、123をDECIMAL(3,2)とすると、123.00(全体5桁)とはならず、9.99(全体3桁)のようになる。
- https://dev.mysql.com/doc/refman/5.6/ja/fixed-point-types.html

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS