排序问题
正常order 降序,3.54 排在 199.0 前面
导致的原因:字段类型是文本类型
解决方案
把数据转换为数字类型
select cast("3.14159" as decimal); # 运行结果:3
select convert("3.14159", decimal); # 运行结果:3
select cast("3.14159" as decimal(10, 2)); # 运行结果:3.14
select convert("3.14159", decimal(10, 2)); # 运行结果:3.14
DECIMAL 用法
column_name DECIMAL(P,D);
P是表示有效数字数的精度。 P范围为1〜65。
D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)P。
amount DECIMAL(10,4);
在此示例中,amount列最多可以存储10位数字,小数位数为4位; 因此,amount列的范围是从-999999.9999到999999.9999。
删除操作
DELETE FROM `t_login_log`
WHERE do_date <= DATE_ADD(NOW(),INTERVAL -2 MONTH)