MySQL 指定した少数桁数で切り捨てを行う

  • 作成日 2021.12.24
  • 更新日 2022.10.19
  • mysql
MySQL 指定した少数桁数で切り捨てを行う

MySQLで、指定した少数桁数で切り捨てを行う手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
  • MySQL Workbench 8.0.27

手順

指定した少数桁数で切り捨てを行うには、「TRUNCATE( )」を使用します。

TRUNCATE( 数値,桁数 )

実際に、使用してみます。

SELECT 
TRUNCATE( 123.4567, 1 ),
TRUNCATE( 123.4567, 2 ),
TRUNCATE( 123.4567, 3 )

実行結果を確認すると、桁数が切り捨てされていることが確認できます。

「0」指定

「0」を指定すると少数以下は全て切り捨てされます。

SELECT 
TRUNCATE( 123.4567, 0 ),
TRUNCATE( -123.4567, 0 )

実行結果

「マイナス」指定

「マイナス」を指定すると、「0」に近い方に丸められます。

SELECT 
TRUNCATE( -123.4567, 1 ),
TRUNCATE( -123.4567, 2 ),
TRUNCATE( -123.4567, 3 )

実行結果

その他

数値を文字列としても、正常に動作し、文字列を指定すると「0」が返ります。

また、桁数に少数を設定すると四捨五入されて、計算されるようです。

SELECT 
TRUNCATE( '-00123.4567', 1 ),
TRUNCATE( 'a', 1 ),
TRUNCATE( 123.4567, 1.4 ),
TRUNCATE( 123.4567, 1.5 ),
TRUNCATE( 123.4567, 2.4 ),
TRUNCATE( 123.4567, 2.5 )

実行結果