一、单行处理函数
-- 单行处理函数
# 4 四舍五入返回整数
select round(3.64);
# 35.46 四舍五入保留两位少数
select round(35.456,2);
# 40 小数点左移四舍五入,小数点右移
select round(35.456,-1);
# 30
select round(34.456,-1);
# 3.56 直接截取
select truncate(3.5678,2);
# 30
select truncate(35.456,-1);
# 4 向上取整
select ceil(3.1);
# 3 向下取整
select floor(3.9);
# 5 取绝对值
select abs(-5);
# 1 -1 0 判断正负
select sign(19),sign(-17),sign(0);
# 1 最小值
select least(4,6,1);
# 6 最大值
select greatest(4,6,1);
# 辣子鸡(28.000元) 字符串的拼接
select concat(menu_name,'(',price,'元)') from
-- 日期相关
# 获取系统当前时间(年月日时分秒)
select now();
# 获取系统当前时间的年
select year(now());
# 获取系统当前时间的月
select month(now());
# 获取系统当前时间的天
select day(now());
# 获取系统当前时间的date
select date(now());
select curdate();
# 获取系统当前时间的time
select time(now());
select curtime();
# 关于星期 星期是从索引0开始的,所以需要+1
select weekday(now()) + 1 '星期';
# 注意:时间运算不可以直接使用普通运算符,那样会把日期格式中的-去掉,然后当成一个数去计算
# 日期的加减
select now() - interval 10 year + interval 12 day;
# 十年前
select adddate(now(),interval - 10 year));
# 日期格式化
select date_format(now(),'%Y%m%d');
-- 判断语句
# ifnull(a,b)如果为空则输出b
select menu_name,ifnull(url_image,'待添加图片') url_image from menu;
# if(条件判断,a,b) 如果条件符合输出a否则输出b
select menu_name,price,if(price<50,'便宜','贵') from menu;
select menu_name,if(url_image is null or url_image = '','待添加图片',url_iamge) url_image from menu;
# 语句 可swich可if else
select Sname,Ssex
case Ssex
when '男' then 1
when '女' then 0
else -1
end as gender from student;
select Sname,Ssex
case
when Ssex='男' then 1
when Ssex='女' then 0
else -1
end as gender from student;
-- 类型转换
# 6 四舍五入转整型
select convert(5.5,unsigned integer);
# 转date
select convert(now(),date);
select cast(now() as date);
# 转time
select convert(now(),time);
select cast(now() as time);