当前位置:主页 > 查看内容

MySQL常用函数,程序员真得看看

发布时间:2021-05-12 00:00| 位朋友查看

简介:概念 相当于java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 隐藏了实现细节 提高代码的可重用性 使用 select 函数名(实参列表)【from 表】 【】中内容可省略 正文 字符函数: length: 获取字节个数(utf-8 一个汉字为3个字节,gbk为2个字节) S……

概念

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

  • 隐藏了实现细节
  • 提高代码的可重用性

使用

select 函数名(实参列表)【from 表】 【】中内容可省略

正文

字符函数:

  • length: 获取字节个数(utf-8 一个汉字为3个字节,gbk为2个字节)
  1. SELECT LENGTH('cbuc') # 输出 4SELECT LENGTH('蔡不菜cbuc') # 输出13 
  • concat: 拼接字符串
  1. SELECT CONCAT('C','_','BUC') # 输出 C_BUC 
  • upper:将字母变成大写
  1. SELECT UPPER('cbuc') # 输出 CBUC 
  • lower:将字母变成小写
  1. SELECT LOWER('CBUC') # 输出 cbuc 
  • substr / substring:裁剪字符串该方法进行了重构
MySQL常用函数,程序员真得看看
  1. substr(str,pos)       # str:要裁剪的字符串 , pos:要裁剪的长度 
  2. substr(str,pos,len)   # str:要裁剪的字符串 , pos/len:从哪个位置开始裁剪几位 
  3. substring同理 
  • instr:返回子串第一次出现的索引,如果没有则返回0
  1. SELECT INSTR('蔡不菜','蔡') # 输出 1 (mysql是从1开始算位数) 
  • trim:字符串去【字符】
  1. SELECT TRIM('  cbuc  ')                 # 输出 cbuc 
  2. ELECT TRIM('a' from 'aaaacbucaaaa')    #输出 cbuc 
  • lpad:用指定字符实现左填充指定长度
  1. SELECT LPAD('cbuc',6,'*') # 输出 **cbuc 
  • rpad:用指定字符实现右填充指定长度
  1. SELECT LPAD('cbuc',6,'*') # 输出 cbuc** 
  • replace 替换
  1. SELECT REPLACE('小菜爱睡觉','睡觉','吃饭') # 输出 小菜爱吃饭 

数学函数

  • round:四舍五入
  1. SELECT round(1.5)        # 输出  2 
  2. ELECT round(-1.5)        # 输出 -2 该四舍五入计算方式为:绝对值四舍五入加负号 
  • ceil:向上取整,返回>=该参数的最小整数
  1. SELECT CEIL(1.5); # 输出 2SELECT CEIL(-1.5); # 输出 -1 
  • floor:向下取整,返回<=该参数的最大整数
  1. SELECT FLOOR(1.5); # 输出 1SELECT FLOOR(-1.5); # 输出 -2 
  • truncate:截断
  1. SELECT TRUNCATE(3.1415926,2); # 输出 3.14 
  • mod:取余
  1. SELECT MOD(10,3);        # 输出 1 
  2. SELECT MOD(10,-3);        # 输出 1 

日期函数

  • now:返回当前系统日期+时间
  1. SELECT NOW() # 输出 2020-02-16 11:43:21 
  • curdate:返回当前系统日期,不包含时间
  1. SELECT CURDATE() # 输出 2020-02-16 
  • curtime:返回当前时间,不包含日期
  1. SELECT CURTIME() # 输出 11:45:35 
  • year/month/day 可以获取指定的部分,年、月、日、小时、分钟、秒
  1. SELECT YEAR(NOW()) # 输出 2020 其他用法一致 
  • str_to_date:将字符通过指定的格式转换成日期
  1. SELECT STR_TO_DATE('02-17 2020','%c-%d %Y') # 输出 2020-02-17 
  • date_format:将日期转换成字符
  1. SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') # 输出 2020年02月17日 
  • datediff:两个日期天数之差
  1. SELECT DATEDIFF(NOW(),'2020-02-12') # 输出 5 

其他函数

  • VERSION:查看mysql 版本
  1. SELECT VERSION(); # 输出 5.7.17 
  • DATABASE:查看当前数据库
  1. SELECT DATABASE() # 输出 cbuc_datebase 
  • USER:查看当前用户
  1. SELECT USER() # 输出 root@localhost 

流程控制函数

  • if 函数: 类似三目运算
  1. SELECT IF(10<5,'大','小')        # 输出 小 
  • case函数:case 有两种用法

1 switch case 的效果

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

2 类似于多重if case

  1. when 条件1 then 要显示的值1或语句1 
  2. when 条件2 then 要显示的值2或语句2 
  3. ... 
  4. else 要显示的值n或语句n 
  5. end 

本文转载自网络,原文链接:https://juejin.im/post/5ed3b3fb6fb9a047ed240575
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:Redis你掌握多少了,来个查漏补缺? 下一篇:没有了

推荐图文


随机推荐