mysql 基础函数

常见函数


  • 概念: 类似与c++的函数,将一组逻辑语句封装在函数体中,对外暴露函数名

  • 好处:

    1. 隐藏了实现细节
    2. 提高代码的重用性
  • 调用: select 函数名(实参列表) 【from 表】;

  • 特点:

    1. 叫啥
    2. 干啥
  • 分类:

    1. 单行函数 如 concat

      字符函数

    2. 分组函数

1 单行函数

1.1 字符函数
 # length
 select length('john');
 /* 4*/
 --
 # concat
 --连接
 select concat(last_name, ' '. first_name) 姓名
 from emp;
 
 -- upper、lower 小写,大写
 -- substr,  substring
 -- 索引从1开始
 select substr('你好不是我', 3) out_put;
 -- 从第三个字符开始截取
 select substr('你好不是我', 1, 3) out_put;
 -- 从第1个字符开始截取3个长度
 
 -- 姓名中首字符大写、其他小写
 select concat(upper(substr('last_name', 1, 1)), '_', lower(substr('last_name', 2)));
 
 # instr 返回第一次出现的起始索引,如果没有0
 
 SELECT instr('你是猪吗,', '你是') as out_put;
 # TRIM 去掉前后没用的值
 SELECT length(TRIM('    是你   ')) as out_put;
 SELECT trim ('a' from 'aaaaaaaaaaaaaaa你好aaaaaaaaaa大苏打aaaaaaaaaaaaaa') as put;
 
 # 7 lpad 用指定的字符实现左填充使总长度为你指定的
 SELECT lpad('你是傻子', '10', 'ab');
 # 8 rpad 右填充
 
 # REPLACE 替换
 # 你是替换成我是
 SELECT replace('你是你是你是你是你是很厉害的', '你是', '我是') as put;


1.2 数字函数
 # round 四舍五入
 SELECT ROUND(-1.55); # -2
 SELECT ROUND(1.55); # 2
 
 # ceil 向上取整 返回大于等于他的
 
 SELECT ceil(-1.02); -1
 # floor 向下取整
 SELECT FLOOR(-9.99);
 
 # truncate 截断
 SELECT TRUNCATE(12.69999, 1); #取几位小数
 
 #mod 取余
 SELECT mod(10, -3);
 SELECT 10%3;
 
1.3日期函数
# now 返回日期和时间
SELECT now();

# curdate 返回当前日期
SELECT curdate();

#curtime 返回当前时间

SELECT curtime();

# 可以指定获取部分,年月日小时分钟秒

SELECT year(Now());
SELECT year('1998-1-1');
SELECT MONTH(NOW());

SELECT MONTHNAME(NOW());

# 获取 字符转日期
SELECT str_to_date('9-12-1999', '%m-%d-%Y'); 月日年
SELECT * FROM orders; 
SELECT * from orders 
where order_date = str_to_date('10-3-2005', '%c-%d-%Y');

# 日期转字符
SELECT date_format(now(), '%y-%m-%d') as out_put;

# 其他

SELECT version();
SELECT DATABASE();
1.4 流程函数
# if 
SELECT if(10 < 5, '大', '小');

# case 函数的使用一: switch case

case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
else 要显示的值
end

SELECT salary 原始工资, department,
CASE department
when 30 then salary*1.1
when 40 then salary*1.2
else salary
end as 新工资
from emp;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值