如何在逗号后用mysql函数只保存数字?
例如:16.03
----> 03
答案 0 :(得分:2)
如果我理解正确,你需要数字的小数部分。在MySQL中,您可以使用mod()
:
select mod(14.03, 1)
收益率“0.03”。
编辑:
Juhana提出了一个非常好的观点。 MySQL可以在数字和字符串之间自由转换,因此您可以使用substr()
:
select substr(14.03, locate('.', 14.03)+1)
如果您想要逗号后的数字,请将'.'
替换为','
。
答案 1 :(得分:0)
如果你的值来自一个表,你必须准备好处理一些值可能是整数的事实(即:转换为字符串时没有小数分隔符):
SELECT IF(LOCATE('.', value), SUBSTRING_INDEX(value,'.', -1), "0") FROM tbl;
答案 2 :(得分:0)
或者简单地说:
14.03 % 1
--> 0.03
也适用于负数:
-14.03 % 1
--> -0.03
如果您正好在小数点后面的两位数之后(并且您只处理正数),您可以执行以下操作:
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
但这使得整数案件非常难看。