【④MySQL函数】:让你的数据库操作更高效(一)

前言

✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解

目录

      • 前言
      • 一、字符串函数
      • 二、数学函数
      • 三、总结

一、字符串函数

函数作用
UPPER(列|字符串)将字符串每个字符转为大写
LOWER(列|字符串)将字符串每个字符转为小写
CONCAT(str1,str2,…)将所有字符串连接成一个字符串
REPLACE(列|字符串,新字符串)使用新字符串替换旧字符串
LENGTH(列|字符串)求字符串长度
SUBSTR(列|字符串,开始点[,长度])字符串截取
LEFT(str,len)获取字符串左边len个字符组成的字符串
RIGHT(str,len)获取字符串右边len个字符组成的字符串
MID(str,pos,len)获取字符串中从pos(第几个)位置开始,长度为len的字符串
ASCII(字符)返回与指定字符对应的十进制整数
CHR(数字)返回与整数对应的字符
RPAD(列|字符串,长度,填充字符)
LPAD(列|字符串,长度,填充字符)
用指定的字符在字符串右或左填充
LTRIM(字符串)、RTRIM(字符串)去掉字符串左或右的空格
TRIM(列|字符串)去掉字符串左右空格
INSTR(列|字符串,要查找的字符串,开始位置,出现位置)查找一个子字符串是否在指定的位置上出现

字符串函数练习:

  • UPPER(列|字符串):将字符串每个字符转为大写LOWER(列\|字符串):将字符串每个字符转为小写,将员工姓名分别转为大写和小写

    SELECT UPPER(ename),LOWER(ename) FROM emp;
    
  • CONCAT(str1,str2,...):将所有字符串连接成一个字符串,将员工的姓名和该员工老板的编号连接在一起

    SELECT CONCAT(ename,mgr) FROM emp;
    
  • REPLACE:(列|字符串,新字符串) 使用新字符串替换旧字符串,将word替换为king

    SELECT REPLACE('hello word','word','king') "替换";
    
  • LENGTH(列|字符串):求字符串长度

    SELECT LENGTH(123466);
    
  • SUBSTR(列|字符串,开始点[,长度]): 字符串截取,截取ing

    SELECT SUBSTR('king word',2,3);
    
  • LEFT(str,len): 获取字符串左边len个字符组成的字符串,RIGHT(str,len):获取字符串右边len个字符组成的字符串,MID(str,pos,len) :获取字符串中从pos(第几个)位置开始.长度为len的字符串TRIM(列|字符串):去掉字符串左右空格

    SELECT LEFT('king',2),RIGHT('king',2),MID('king',2,3);
    
  • ASCII(字符) :返回与指定字符对应的十进制整数,CHR(数字) 返回与整数对应的字符

    SELECT ASCII('A'),CHAR(98);
    
  • RPAD:(列|字符串,长度,填充字符),LPAD:(列|字符串,长度,填充字符) 用指定的字符在字符串右或左填充拓展:两边填充

    SELECT RPAD('king',10,'*'),LPAD('king',10,'*');
    SELECT LPAD(RPAD('king',10,'*'),15,'*');
    
  • LTRIM(字符串)、RTRIM(字符串) :去掉字符串左或右的空格TRIM(列|字符串) 去掉字符串左右空格

    SELECT LTRIM('  king  '),RTRIM('  king  '),TRIM('  king  ');
    
  • INSTR:(列|字符串,要查找的字符串,开始位置,出现位置) 查找一个子字符串是否在指定的位置上出现

    SELECT INSTR("king",'ki');
    

字符串函数综合实践:

  1. 把员工姓名首字母大写
SELECT CONCAT(UPPER(LEFT(ename,1)),LOWER(SUBSTR(ename,2))) FROM emp;
  1. 查询出姓名长度是5的所有员工信息
SELECT *FROM emp WHERE LENGTH(ename)=5;
  1. 查询出员工姓名前三个字母是‘JAM’的员工
SELECT * FROM emp WHERE LEFT(ename,3)='JAM';
  1. 查询所有员工信息,但是不显示姓名的前三个字母
SELECT ename, SUBSTR(ename,4) FROM emp; 
# 只显示后三个字符
SELECT ename,SUBSTR(ename,-4) FROM emp;

效果展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、数学函数

函数作用
ROUND(数字[,保留位数])根据指定的保留位数对小数进行四舍五入,如果不指定保留位数,则小数点之后的数字全部进行全部四舍五入
TRUNCATE(数字[,截取位数])保留指定位数的小数,如果不指定,则表示不保留
CEIL(数字),CEILING(数字)对小数向上取整
FLOOR(数字)对小数向下取整
RAND([n])随机返回0到1.0之间的小数,如果指定n每次产生的就都是重复的

数学函数练习:

  • ROUND(数字[,保留位数]) : 根据指定的保留位数对小数进行四舍五入,如果不指定保留位数,则小数点之后的数字全部进行全部四舍五入

    SELECT ROUND(3.66);
    SELECT ROUND(3.66,1);
    
  • TRUNCATE(数字[,截取位数]) : 保留指定位数的小数,如果不指定,则表示不保留

    SELECT TRUNCATE(3.889,1); #截断
    
  • CEIL(数字),CEILING(数字):对小数向上取整,FLOOR(数字) 对小数向下取整

    SELECT CEIL(3.66),CEILING(3.99);
    SELECT FLOOR(3.89);
    
  • RAND([n]):随机返回0到1.0之间的小数,如果指定n每次产生的就都是重复的

    SELECT RAND();
    

效果如下:

在这里插入图片描述
在这里插入图片描述

数学函数综合练习:

通过数据库的函数,生成一个六位数字的随机验证码。思路:先生成一个0~1之间的小数,然后乘以100万,然后截断,又因为是生成的0-1之间的小数,所以可能是0.0…这种情况,所以我们最进行填充,保证有六位

SELECT LPAD(TRUNCATE(RAND()*1000000,0),6,'0');

三、总结

✨~MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「✨MySQL 参考手册」查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3233.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【问题记录】如何使用 pip 在 linux 上安装 pytorch

一、进入 pytorch 官网 pytorch 官网:https://pytorch.org/ 二、在页面选择环境 三、复制官网弹出的命令并运行即可 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

JavaScript 内置对象 数据类型

目录 JavaScript 内置对象 1.内置对象 2.查文档 2.1MDN 2.2 如何学习对象中的方法 3.Math对象 3.1Math 概述 3.2随机数方法 random() 4. 日期对象 4.1Date 概述 4.2Date() 方法的使用 4.3 日期格式化 4.4获取毫秒的总的毫秒形式 5.数组对象 5.1数组对象的创建 5…

互联网编程之基于 TCP 的单线程文件收发程序(CS架构)

目录 需求 服务端实现 客户端实现 测试 需求 可试着根据java编程课所学到的java socket编程技术,尝试编写一个基于 TCP 的单线程文件收发程序,需满足: 服务端程序预先定义好需要发送的文件并等待客户端的连接。 客户端连接成功后&…

CSS之平面转换

简介 作用:为元素添加动态效果,一般与过渡配合使用 概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜) 平面转换也叫 2D 转换,属性是 transform 平移 transform: translate(X轴移动距离, Y轴移动距…

项目中遇到的问题总结(四)

GateWay和Nginx的相同点和不同点在哪里? Gateway 和 Nginx 都是常见的反向代理服务器,它们的相同点和不同点如下: 相同点: 都可以作为反向代理服务器,接收来自客户端的请求并转发到后端服务器进行处理。 都支持负载均…

Android:设计模式

文章参考来源1 文章参考来源2 文章参考来源3 MVC Model 数据来源,管理业务数据逻辑,读取数据等 View 视图 Controller 单例模式,处理业务逻辑,负责改变Model和View 经典的MVC架构是 用户点击View,View将用户输入转…

搭建自己的 new bing网站----nginx反代(群晖,全docker版)

文章目录 1.前言:2. 部署过程:2.1.部署go-proxy-bing 项目:2.1.部署nginx反代:这两步完成实际上就可以访问了, 3.部署聊天服务器:代表链接成功! 1.前言: 本篇教程全萌新向&#xff…

12-代码实战——服务器版表白墙

目录 1.版本一:将数据存到内存中 ①约定前后端交互接口 a.添加表白信息: b.查询表白列表: ②在webapp包下创建message-wall.html前端文件 ③在java包下创建AddMessageServlet后端类 ④在java包下创建MessageListServlet后端类 2.版本…

Python案例——采集专栏文章保存成pdf

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: python 3.8 >>>>>> 运行代码 pycharm 2022.3 >>>>>> 辅助敲代码 wkhtmltopdf 软件 找助理邀课老师获取 模块使用: 内置模块 re >>>正则表达式 第三方模…

二重积分的解题技巧

计算方法 本节内容一般都应该先画图再思考后续内容较为直观 基本口诀是:后积先定限,限内画条线,先交写下限,后交写上限(且下限必须小于上限) 结合下图进行解释,后积先定限,对于X-型来…

VMIC-pci-5565反射内存的优势

优势: (1)实现远程互连的能力 随着仿真实验复杂度的提高,需要多楼宇多试验室间设备的远程互连,通过单模光纤及光纤HUB将远距离的试验室设备进行连接,单模光纤支持的传输距离可达20km。对于距离300m以内的试…

循坏队列CircularQueue

前言 一、CircularQueue 二、特点 三、设计思路 1)判空与判满 2)链表还是数组实现? 四、实现 1).IsEmpty() 2).IsFull() 3)CircularQueueCreate创建 4)CircularQueueEnQueue插入 5)CircularQueueDeQueue删除 6&#xf…