MYSQL数据库常见函数

什么是函数

将一组逻辑语句封装在方法体中,对外暴露方法名

优势

  1. 影藏了实现细节
  2. 提高代码的重用性

调用

select 函数名() 

分类

  1. 单行函数
    • 字符函数

      • concat(拼接字符串):
        select concat('1','2');
        
      • length(字符函数):获取参数值的字节个数
        select length('john');
        
      • ifnull
      • upper: 将字母转换为大写
        select upper('john');
        
      • lower: 将字母转换为小写
        select lower('john');
        
      • substr、substring: 字符串截取
        # 截取从指定索引处后面所有字符(sql中索引从1开始)
        select substr('test',1) ;
        # 截取从指定索引处指定字符长度的字符
        select substr('test',1,2)
        
      • instr: 返回子串第一次出现的索引,如果找不到返回0
        #返回s第一次出现的索引,如果找不到返回0
        select instr('test','s');
        
      • trim: 去除指定前后的值
        #默认不指定的情况下去除空格
        select trim('    test      ');
        #去除前后的'a'字符
        select trim('a' from 'aaaaaaatestaaaaaaaaa');
        
      • LPAD: 用指定的字符实现左填充指定长度
        #此处test长度为4,而指定的长度为10,那么结果会在test最左边填充6个'*'
        select LPAD('test',10,'*');
        #此处test长度为4,而指定的长度为2,那么结果会自动截取2个长度,即te
        select LPAD('test',2,'*');
        
      • RPAD: 用指定的字符实现右填充指定长度
        #此处test长度为4,而指定的长度为10,那么结果会在test最右边填充6个'*'
        select RPAD('test',10,'*');
        
      • replace: 替换所有指定的字符
        #将test中't'字符替换为's'
        select replace('test', 't', 's');
        
    • 数学函数:

      • round: 四舍五入
        # -2
        select round(-1.55); 
        #保留两位
        select round(1.567,2);
        
      • ceil: 向上取整,返回>=该参数的最小整数
        # 2
        select ceil(1.02)
        
      • floor: 向下取整,返回<=该参数的最大整数
        #-10
        select floor(-9.99);
        
      • truncate: 截断
        # 保留1位
        select truncate(1.69999,1);
        
      • mod: 取余(求膜)
        select mod(10,-3);
        #等价于
        select 10%-3;
        
    • 日期函数

      • now: 返回当前系统日期+时间
        select now();
        
      • curdate: 返回当前系统日期,不含时间
        select curdate();
        
      • curtime: 返回当前时间,不含日期
        select curtime();
        
      • 获取指定的部分,年、月、日、小时、分钟、秒
        #获取当前日期的年
        select YEAR(now ());
        select year('1997-09-09');
        
        #获取当前月份(数字)
        select MONTH(now());
        
        #获取当前月份(英文)
        select MONTHNAME(now());
        
      • str_to_date: 将日期格式的字符转换成指定格式的日期
        # 1999-09-13
        select str_to_date('9-13-1999','%m-%d-%y');
        
      • date_format: 将日期转换成字符
        select date_format('2019-09-14','%Y年%m月%d日');
        
      序号格式符功能
      1%Y四位的年份
      2%y两位的年份
      3%m月份(01,02)
      4%c月份(1,2)
      5%d日(01,02)
      6%H小时(24小时制)
      7%h小时(12小时制)
      8%i分钟(00,01)
      9%s秒(00,01)
    • 其它函数

      • version: 查看当前版本
      • database: 查看当前数据库
      • user: 查看当前的用户
    • 流程控制函数

      • if函数
        select if(10>5,'大于','小于')
        
      • case函数
        • 语法1:
          • case 要判断的字段或表达式
          • when 条件1 then 要显示的值1
          • when 条件2 then 要显示的值2
          • else 要显示的值n
          • end
        • 语法2:
          • case
          • when 条件1 then 要显示的值1
          • when 条件2 then 要显示的值2
          • else 要显示的值n
          • end
  2. 分组函数
    • sum(): 求和,忽略null的个数
    • avg(): 平均值,忽略null的个数
    • min(): 最小值,忽略null的个数
    • max(): 最大值,忽略null的个数
    • count(): 计算,忽略null的个数
    • GROUP BY: 将表中的数据分成若干组
    • having: 分组后的筛选,在GROUP BY后的条件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值