MySQL实例精讲单行函数以及字符数学日期流程控制

 更新时间:2021年10月13日 10:34:47   作者:叶绿体不忘呼吸  
SQL函数即数据库的内置函数,可以运用在SQL语句中实现特定的功能。SQL单行函数对于每一行数据进行计算后得到一行输出结果。SQL单行函数根据数据类型分为字符函数、数字函数、日期函数、转换函数,另外还有一些别的函数

一、字符函数

在这里插入图片描述

1、大小写控制函数

UPPER():转换成大写

SELECT UPPER('Hello');

在这里插入图片描述

LOWER():转换成小写

SELECT LOWER('Hello');

在这里插入图片描述

2、字符控制函数

LENGTH():获取参数值的字节个数

SELECT LENGTH('叶绿体不忘呼吸aaaa');

在这里插入图片描述

CONCAT():拼接字符串

SELECT CONCAT('Hello','世界') AS result;

在这里插入图片描述

SUBSTR():截取(MySQL里索引是从1开始的,而不是0)

#从第4个开始截取,截取后面全部
SELECT SUBSTR('我相信光',4);

在这里插入图片描述

#从第1个开始截取,截取3个
SELECT SUBSTR('我相信光',1,3);

在这里插入图片描述

INSTR():返回子串在主串中第一次出现的索引,如果不存在,则返回0

SELECT INSTR('国足10月13日客战沙特','沙特') AS result;

在这里插入图片描述

TRIM():去除字符串前后某字符

SELECT TRIM('a' FROM 'aaaaa叶aa绿体aaaaa') AS result;

在这里插入图片描述

#去空格
SELECT TRIM('    叶aa绿体a    ') AS result;

在这里插入图片描述

LPAD():用指定的字符左填充指定长度,RPAD()则是右填充

SELECT LPAD('叶绿体',9,'a') AS result;

在这里插入图片描述

REPLACE():替换

SELECT REPLACE('a叶aaa绿体aaaa','a','B') AS result;

在这里插入图片描述

二、数学函数

ROUND():四舍五入

#默认保留一位小数
SELECT ROUND(1.62) AS result;

在这里插入图片描述

#保留两位小数
SELECT ROUND(1.627,2) AS result;

在这里插入图片描述

CEIL():向上取整,返回大于等于该数的最小整数

SELECT CEIL(1.002) AS result;

在这里插入图片描述

FLOOR():向下取整,返回小于等于该数的最大整数

SELECT FLOOR(1.002) AS result;

在这里插入图片描述

TRUNCATE():截断

SELECT TRUNCATE(1.699,1) AS result;

在这里插入图片描述

MOD():取余,等价于%

SELECT MOD(10,-3) AS result;

在这里插入图片描述

三、日期函数

在这里插入图片描述

①NOW():返回当前系统的日期和时间

SELECT NOW();

在这里插入图片描述

②CURDATE():返回当前系统日期,不包含时间

SELECT CURDATE();

在这里插入图片描述

③CURTIME():返回当前系统时间,不包括日期

SELECT CURTIME();

在这里插入图片描述

YREAR():获取指定日期字段的年

SELECT YEAR(NOW());

在这里插入图片描述

SELECT YEAR('2021-09-30') AS result;

在这里插入图片描述

MONTH():获取指定日期字段的月,MONTHNAME()则可以返回月份英文

SELECT MONTH('2021-09-30') AS result;

在这里插入图片描述

SELECT MONTHNAME('2021-09-30') AS result;

在这里插入图片描述

日,小时,分钟,秒钟都可以同上

STR_TO_DATE():将字符按照指定的格式转为日期

#相当于是解析:两个参数格式要匹配
SELECT STR_TO_DATE('9-30 2021','%m-%d %Y') AS result;

在这里插入图片描述

DATE_FORMAT():将日期转换成字符

#相当于是格式化
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') AS result;

在这里插入图片描述

四、其他函数

#查看版本
SELECT VERSION();
#查看数据库
SELECT DATABASE();
#查看用户
SELECT USER();

五、流程控制函数

IF():判断,第一个参数是条件,第二个是true的返回,第三个是false的返回

SELECT IF(10>5,'大','小') AS result;

在这里插入图片描述

CASE()使用一:类似于Java中switch

CASE 要判断的
WHEN 常量1 THEN 语句1;或者要显示的值1
...
ELSE 语句;或者要显示的值
END

示例

#示例为要显示的值,不加‘;'
SELECT `last_name`,`salary`,`department_id`,
CASE `department_id`
WHEN 100 THEN `salary`*(1+0.8)
WHEN 90 THEN `salary`*(1+0.6)
WHEN 80 THEN `salary`*(1+0.4)
WHEN 70 THEN `salary`*(1+0.2)
ELSE `salary`
END AS 最终工资
FROM employees;

CASE()使用一:类似于Java中多重if

CASE 
WHEN 条件1 THEN SELECT 语句1;或者要显示的值1
...
ELSE 语句;或者要显示的值
END

示例

#示例为要显示的值,不加‘;'
SELECT `last_name`,`salary`,
CASE
WHEN `salary`>20000 THEN 'A级别'
WHEN `salary`>15000 THEN 'B级别'
WHEN `salary`>10000 THEN 'C级别'
ELSE 'D级别'
END AS 等级
FROM employees;

在这里插入图片描述

到此这篇关于MySQL深度精讲单行函数以及字符数学日期流程控制的文章就介绍到这了,更多相关MySQL 单行函数 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql常用函数汇总(分享)

    mysql常用函数汇总(分享)

    以下是对mysql中的常用函数进行了汇总介绍。需要的朋友可以过来参考下
    2013-08-08
  • MySQL时间差8小时的解决方案

    MySQL时间差8小时的解决方案

    本文介绍了在开发中遇到的时间问题,包括MySQL时间与系统时间不符、JDBC连接时区设置以及使用Jackson时可能出现的JSON时区问题,重点讲解了如何修改MySQL时区、设置JDBC连接参数和调整JSON日期格式的时区,需要的朋友可以参考下
    2024-07-07
  • sql注入数据库原理详情介绍

    sql注入数据库原理详情介绍

    这篇文章主要介绍了sql注入数据库原理详情介绍,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-09-09
  • MySQL过滤重复数据的两种方法示例

    MySQL过滤重复数据的两种方法示例

    数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复数据,下面这篇文章主要给大家介绍了关于MySQL过滤重复数据的两种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • MySQL系列教程小白数据库基础

    MySQL系列教程小白数据库基础

    这篇文章主要为大家介绍了MySQL系列中的数据库基础,非常适合数据库小白的入门基础篇,详细的讲解了数据库的基本概念以及基础命令及操作示例,有需要的朋友可以借鉴参考下
    2021-10-10
  • MySQL里面的子查询的基本使用

    MySQL里面的子查询的基本使用

    本文主要介绍了MySQL里面的子查询的基本使用,从定义到分类使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 详解mysql查询缓存简单使用

    详解mysql查询缓存简单使用

    这篇文章主要介绍了详解mysql查询缓存简单使用的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-03-03
  • mysql忘记密码怎么办

    mysql忘记密码怎么办

    mysql忘记密码怎么办?这篇文章主要为大家详细介绍了MySQL忘记密码的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 深入理解MySQL重做日志 redo log

    深入理解MySQL重做日志 redo log

    redo log:被称为物理日志,记录的就是最终修改后的按页面存储的数据页,直接存数据最终的状态,用于确保事务的持久性,本文主要介绍了MySQL重做日志 redo log,感兴趣的了解一下
    2022-04-04
  • mysql如何查询表中的字段数量

    mysql如何查询表中的字段数量

    这篇文章主要介绍了mysql如何查询表中的字段数量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论