欢迎投稿

今日深度:

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

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


目录
  • 一、字符函数
    • 1、大小写控制函数
    • 2、字符控制函数
  • 二、数学函数
    • 三、日期函数
      • 四、其他函数
        • 五、流程控制函数

          一、字符函数

          在这里插入图片描述

          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 单行函数 内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

          您可能感兴趣的文章:
          • MySQL中日期型单行函数代码详解
          • Mysql 日期格式化及复杂日期区间查询
          • MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法
          • MySQL数字类型自增的坑
          • MySQL关于字符串中数字排序的问题分析

          www.htsjk.Com true http://www.htsjk.com/Mysql/43829.html NewsArticle MySQL实例精讲单行函数以及字符数学日期流程控制, 目录 一、字符函数 1、大小写控制函数 2、字符控制函数 二、数学函数 三、日期函数 四、其他函数 五、流程控制函数 一、字符函数...
          评论暂时关闭