カンマの後の数値のみをmysql関数で保存する方法は?
例: 16.03
---->03
値がテーブルから取得された場合、一部の値が整数になる可能性があるという事実に対処する準備をする必要があります (つまり、文字列に変換する際に小数点記号がありません)。
SELECT IF(LOCATE('.', value), SUBSTRING_INDEX(value,'.', -1), "0") FROM tbl;
http://sqlfiddle.com/#!2/062c8/11を参照してください。
または単に:
14.03 % 1
--> 0.03
負の数に対しても機能します。
-14.03 % 1
--> -0.03
小数点以下 2 桁を正確に処理している場合 (および正の数のみを扱っている場合)、次の操作を実行できます。
substring(format( num %1,2),3,2) -- num being the column (integer of float, double ...)
--> 03 -- for num=14.03
--> 00 -- for num=14
--> 05 -- for num=14.046739
もちろん、すべての数字が必要な場合は、format()
substring(num %1,3,2)
--> 03 -- for num=14.03
--> -- for num=14
--> 046739 -- for num=14.046739
しかし、それは整数のケースを非常に醜くします。