一、概述

功能:类似Java中的方法;

优势:提高重用性和隐藏实现细节;

调用:select 函数名(参数列表)

分类:

  • 字符函数
  • 数学函数
  • 日期函数
  • 聚合函数(之前已经学习过)
  • 其他函数

二、字符函数

2.1、获取字符串所占字节数

语法:length('字符串')

注意:在utf-8编码下英文字符占一个字节,中文占三个字节。

# 获取“你好hello”字符串所占字节数
select length('你好hello');
# 查询员工姓名及姓名所占字节数
select ename, length(ename) from emp;

2.2、获取字符个数

语法:char_length('字符串')

# 获取“你好hello”字符个数
select char_length('你好hello');
# 获取员工姓名及姓名所占字符个数
select ename, char_length(ename) from emp;

2.3、拼接字符串

语法:concat('字符串1','字符串2','字符串3',...)

select concat('abc', '_', 'def');
# 查询员工及其上级的姓名,并使用"_"分隔
select concat(e.ename, '_', m.ename) from emp e, emp m where e.mgr=m.empno;

2.4、大小写转换

语法:

  • 变大写:upper('字符串')
  • 变小写:lower('字符串')
select upper('abc');
select lower('AB');
# 查询所有员工的姓名,将其姓名转换为大写
select upper(ename) from emp;
# 查询所有员工的姓名,将其姓名转换为小写
select lower(ename) from emp;

2.5、获取子串

语法:

  • substr('字符串', 起始位置),从起始位置开始到结尾
  • substr('字符串', 起始位置, 长度),从起始位置开始,返回特定长度的字符串

注意:字符串的第一个字符的下标为1

# 返回“bcd”
select substr('abcd', 2);
# 返回“ello”
select substr('hello world', 2, 4);

2.6、获取子串第一次出现的索引

语法:instr('字符串','子字符串')

# 返回7
select instr('hello world', 'world');

2.7、去除字符串前后子字符串

语法:trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

# 去除开头的'a'
select trim(leading 'a' from 'aaaaahelloaaa');
# 去除末尾的'a'
select trim(trailing 'a' from 'aaaaahelloaaa');
# 去掉前后的'a'
select trim(both 'a' from 'aaaaahelloaaa');
select trim('a' from 'aaaaahelloaaa');
# 去掉两侧空格
select trim('        mysql        ');

2.7.1、去掉左侧空格

语法:ltrim('字符串')

select ltrim('   aaaa ');

2.7.2、去掉右侧空格

语法:rtrim('字符串')

select rtrim('   aaaa   ');

2.8、左右填充

语法:

  • lpad('字符串',填充后的总长度,'填充的字符串')左填充
  • rpad('字符串',填充后的总长度,'填充的字符串')右填充
select lpad('aaa', 5, '-');
select rpad('aaa', 5, '-');

2.9、字符串替换

语法:replace('字符串', '被替换的字符串', '替换之后的字符串')

select replace('hello java', 'java', 'mysql');

三、数学函数

3.1、四舍五入

语法:round(数字, 小数位数)

# 3
select round(3.145);
# 3.15
select round(3.145, 2);

3.2、向上取整

语法:ceil(数字)

# 3
select ceil(2.02);
# -2
select ceil(-2.02);

3.3、向下取整

语法:floor(数字)

# 5
select floor(5.01);
# 4
select floor(4.99);
# -6
select floor(-5.01);

3.4、取模

语法:mod(被模数,模数)

# 1
select mod(5, 2);

3.5、截断

语法:truncate(数字,截取后小数的位数)

# 3.14
select truncate(3.1456, 2);

3.6、随机数

语法:rand()

生成0~1之间的小数

select rand();

四、日期函数

4.1、当前日期和时间

获取当前日期和时间:now()

获取当前日期:curdate()

获取当前时间:curtime()

select now();
select curdate();
select curtime();

4.2、获取年月日时分秒

年:year(日期)

月:month(日期)

日:day(日期)

时:hour(日期)

分:minute(日期)

秒:second(日期)

select year(now());
select year('2010/10/11 20:11:35');select month(now());
select day(now());
select hour(now());
select minute(now());
select second(now());
# 查询员工姓名和入职年份
select ename, year(hiredate) from emp;

4.3、日期转换

日期格式的字符转换成日期:str_to_date('日期格式字符串','格式')

# 2020-01-02
select str_to_date('1-2/2020', '%c-%d/%Y');
格式符 功能
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%m 月,数值(00-12)
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间, 24-小时 (hh:mm:ss)
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位

日期转换为字符:date_format(日期, '格式')

select date_format(now(),'%Y年%m月%d日');
select date_format('1999-01-02','%Y年%c月%e日');
# 查询员工姓名和入职日期,以xxxx年xx月xx日显示
select ename, date_format(hiredate, '%Y年%m月%d日') from emp;

五、其他函数

当前数据库版本:version()

当前打开的数据库:database()

当前用户:user()

当前字符串md5加密形式:md5(字符)

【mysql】扩展-常用函数相关推荐

  1. mysql中常用函数与存储过程的创建

    mysql中常用函数与存储过程的创建 常用函数汇总 数学函数 字符串函数 日期和时间函数 条件判断函数 系统函数 加密函数 其他函数 自定义函数 自定义变量的声明和赋值 基本语法 实例 存储过程 事务 ...

  2. PHP访问mysql的常用函数,PHP操作MySQL数据库常用函数

    PHP操作MySQL数据库常用函数 php操作mysql数据库,俗称天龙八步: 第一步:连接数据库 第二步:判断连接错误 第三步:选择数据库 第四步:设置字符集 第五步:准备SQL语句 第六步:执行并 ...

  3. mysql部分常用函数DATE_FORMAT(a.Created_time,'%Y-%m-%d%H

    mysql部分常用函数 DATE_FORMAT(a.Created_time,'%Y-%m-%d %H:%i:%S') as c_time 有人告诉说1代表的是索引字段,和数组一样,1的话就是第二个字 ...

  4. C语言操作mysql数据 常用函数

    C语言操作mysql数据 常用函数 所需头文件: #include <mysql/mysql.h> 功能:   获得或初始化一个MYSQL结构 函数原型: MYSQL *mysql_ini ...

  5. mysql ceill_MYSQL常用函数

    1.字符串函数 函数 作用 CONCAT(S1,S2-Sn) 将S1,S2,Sn合并为一个字符串 INSERT(str,x,y,instr) 将字符串str从位置x开始y个字符长的子串替换为instr ...

  6. concat函数_三、P57-61 MySQL中常用函数

    本部分主要讲解MySQL数据库中常用函数的使用. P57 SQL中的函数类型:字符串函数.数值函数.日期和时间函数.流程函数.其他常用函数: P58 第1部分:字符串函数 1.concat函数 con ...

  7. mysql数据库 常用函数_《MySQL数据库》常用函数整理

    原标题:<MySQL数据库>常用函数整理 以下内容,是我整理出来的比较常用的字符串函数,数值函数,日期函数. 第一类:字符串函数 1.conv(n,from_base,to_base):对 ...

  8. MySQL数据库中arg函数_【松勤教育】MySQL之常用函数介绍

    mysql函数: MySQL数据库中提供了很丰富的函数.MySQL函数包括聚集函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作.下 ...

  9. MySQL中常用函数之日期函数使用详解

    关联博文: MySQL中日期时间类型与格式化 该篇总结MySQL 中常用的日期时间函数. [1]DATE_FORMAT (datetime ,FormatCodes ) 将日期转换成字符,示例如下: ...

  10. mysql的常用函数

    一.数学函数 ABS(x)                    返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)               ...

最新文章

  1. How to Use tomcat on Linux
  2. SVN中如何创建共享文件夹
  3. Windows IIS配置Jsp和php环境方法
  4. 为什么我不建议你用去 “ ! = null 做判空?
  5. php云解析播放器,xyplay云解析PHPV3.4.1优化稳定版视频解析
  6. 人脸检测江湖的那些事儿——从旷视说起
  7. [Java] 蓝桥杯 BASIC-5 基础练习 查找整数
  8. 多元高斯分布是非参_(二)多元高斯分布与概率图条件独立性假设
  9. 把触发器说透(转载)
  10. java gbk转机内码_gbk内码转中文方法
  11. excel教程自学网_Office 全套办公软件自学视频教程word+excel+ppt
  12. python运行出玫瑰花的代码_一支玫瑰 - python代码库 - 云代码
  13. 「AI产品」产品小姐姐分析抖音背后的计算机视觉技术
  14. Linux使用cp命令报cp:omitting directory错误
  15. 卡贴机变无锁教程_有锁机变无锁教程 教你轻松设置去掉卡贴有锁机变无锁完美4G...
  16. post 防篡改_Cookie防篡改机制
  17. 编译原理(一)编译程序、解释程序、程序设计语言范型
  18. 贪心法 第1关:找零钱
  19. warmup_csaw_2016
  20. 2014人人校招 笔试总结

热门文章

  1. C++:怎样把一个int转成4个字节?
  2. Cocos2d-x 3.0 动作
  3. 机器学习之K-means算法
  4. #pragma comment使用
  5. 拓端tecdat|SAS中用单因素ANOVA研究不同疗法对焦虑症的有效性
  6. 图像处理-自适应的二值化图像
  7. Numpy_where
  8. SpringBoot整合quartz的一个例子
  9. SpringBoot @Async注解的学习
  10. 每天一道机器学习算法面试题目