mysql常用操作记录

261 阅读1分钟

排序问题

正常order 降序,3.54 排在 199.0 前面
导致的原因:字段类型是文本类型

解决方案

把数据转换为数字类型

//不保留小数
select cast("3.14159" as decimal);        # 运行结果:3
select convert("3.14159", decimal);       # 运行结果:3

//不保留2位小数
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范围为165。
D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)P。

amount DECIMAL(10,4);
在此示例中,amount列最多可以存储10位数字,小数位数为4位; 因此,amount列的范围是从-999999.9999999999.9999

删除操作

DELETE FROM  `t_login_log`
WHERE do_date <= DATE_ADD(NOW(),INTERVAL -2 MONTH)