MySQL常用函数,必须推荐!也建议大家掌握

mysql函数的概念

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

  • 隐藏了实现细节

  • 提高代码的可重用性

mysql函数的用法

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

具体用法分析

字符函数:
  1. length:获取字节个数(utf-8 一个汉字为3个字节,gbk为2个字节)
SELECT LENGTH('yepk.cn');    # 输出 7
SELECT LENGTH('叶子来啦');   # 输出12
  1. concat:拼接字符串
SELECT CONCAT('叶子','_','来啦');   # 输出 叶子_来啦
  1. upper:将字母变成大写
SELECT UPPER('yepk.cn');   # 输出 YEPK.CN
  1. lower:将字母变成小写
SELECT LOWER('YEPK.CN');   # 输出 yepk.cn
  1. substr / substring:裁剪字符串

substr

substr(str,pos)       # str:要裁剪的字符串 , pos:要裁剪的长度
substr(str,pos,len)   # str:要裁剪的字符串 , pos/len:从哪个位置开始裁剪几位
# substring同理
  1. instr:返回子串第一次出现的索引,如果没有则返回0
SELECT INSTR('叶子来啦','来')        # 输出 3 (mysql是从1开始算位数)
  1. trim:字符串两边去【字符】
SELECT TRIM( '  abcd  ' );# 输出 abcd
SELECT TRIM( 'b' FROM 'bbbwertdddbbb' );#输出 wertddd
  1. lpad:用指定字符实现左填充指定长度
SELECT LPAD('欢迎大家哈哈',10,'*');            # 输出 ****欢迎大家哈哈
  1. rpad:用指定字符实现右填充指定长度
SELECT RPAD('欢迎大家哈哈',10,'*');            # 输出 欢迎大家哈哈****

10 . replace 替换

SELECT REPLACE('叶子来啦的网站','网站','小窝');        # 输出 叶子来啦的小窝
数学函数:
  1. round:四舍五入
SELECT round(1.8);        # 输出  2
SELECT round(1.3);        # 输出  1
SELECT round(-1.8);        # 输出 -2 该四舍五入计算方式为:绝对值四舍五入加负号
SELECT round(-1.3);        # 输出 -1 该四舍五入计算方式为:绝对值四舍五入加负号
  1. ceil:向上取整,返回>=该参数的最小整数
SELECT CEIL(1.8);        # 输出  2
SELECT CEIL(1.2);        # 输出  2
SELECT CEIL(-1.8);       # 输出 -1
SELECT CEIL(-1.2);       # 输出 -1
  1. floor:向下取整,返回<=该参数的最大整数
SELECT FLOOR(1.8);        # 输出  1
SELECT FLOOR(1.2);        # 输出  1
SELECT FLOOR(-1.8);       # 输出 -2
SELECT FLOOR(-1.2);       # 输出 -2
  1. truncate:数字小数位截断
SELECT TRUNCATE(12345678.12345678,2);        # 输出 12345678.12
  1. mod:取余
SELECT MOD(10,3);        # 输出 1
SELECT MOD(10,-3);       # 输出 1
日期函数
  1. now:返回当前系统日期+时间
SELECT NOW()               # 输出 2020-07-08 11:09:10
  1. curdate:返回当前系统日期,不包含时间
SELECT CURDATE()        # 输出 2020-07-08
  1. curtime:返回当前时间,不包含日期
SELECT CURTIME()        # 输出 11:10:18
  1. year/month/day 可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR(NOW());        # 输出 2020  
SELECT MONTH(NOW());       # 输出 7  
SELECT DAY(NOW());         # 输出 8
  1. str_to_date:将字符通过指定的格式转换成日期
SELECT STR_TO_DATE('07-08 2020','%c-%d %Y')      # 输出 2020-07-08
  1. date_format:将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %h:%i:%s')        # 输出 2020-07-08 11:13:49
  1. datediff:两个日期天数之差
SELECT DATEDIFF(NOW(),'1994-03-23')           # 输出    9604
其他函数
  1. VERSION:查看mysql 版本
SELECT VERSION();           # 输出 8.0.11
  1. DATABASE:查看当前数据库
SELECT DATABASE()          # 输出 ysmhcd
  1. USER:查看当前用户
SELECT USER()               # 输出 root@localhost
流程控制函数
  1. if 函数:类似三目运算
SELECT IF(100<58,'大','小')        # 输出 小
  1. switch case 的效果 也类似于多重if
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end

上面这些基本函数 建议掌握。。。。

# code   mysql   sql   java面试题  

评论

企鹅群:39438021

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×