当前位置: 首页 > news >正文

MySQL—函数(介绍)—字符串函数(基础)

一、引言

  提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。

二、函数

概念:函数是指一段可以直接被另一段程序调用的程序或代码。

注意

这段程序或者代码,实际上在 mysql 当中已经内置了,也就是说这些函数已经在 mysql 当中已经设定写好了,我们要做的只是去调用这些函数来完成我们的业务需要就可以了。

那么函数的作用是什么呢?或者在什么情况下会用到呢?

有两个例子:

1、在入职公司之后,在人力系统中会录入个人的入职信息,比如当前加入公司的总天数是多少?

2、比如学员考试成绩,它的一个等级评定,优秀、及格、不及格多少人?因为在数据库表中都只是对应着一些分数,如何快速的判断分数的等级是多少?

这些问题都可以借助mysql的内置函数来解决。

三、MySQL的内置函数

将内容主要分为四个小的章节。

1、字符串函数

2、数值函数

3、日期函数

4、流程函数

四、字符串函数

(1)MySQL中内置了很多的字符串函数,常用的几个如下:

部分注意事项:

1、CONCAT(),里面传递的n个参数,都是字符串参数。

2、

LPAD():L代表的是 'left' 左边,用字符串 pad 对 str 左边进行填充,直到长度达到 n RPAD():R代表的是 'right' 右边,用字符串 pad 对 str 右边进行填充,直到长度达到 n

3、TRIM():去除头部尾部的空格,不去除中间的空格。

4、SUBSTRING(str,start,len):这个很JAVA的很像,叫截取字符串。它会从字符串 str start 位置开始,截取 len 个长度的字符串。

(2)回到工具 DataGrip 使用一下这几个函数。

操作调用函数的方法:

1、字符串拼接:CONCAT();
SELECT CONCAT('Hello',',MySQL','!');

返回的就是各个字符串拼接成功成一个新的字符串。

2、转小写:LOWER();
SELECT LOWER('HELLO');

3、转大写:UPPER();
SELECT UPPER('what,can,i,say');

 4、左填充:LPAD(str,n,pad);
SELECT LPAD('01',5,'*');

5、右填充:RPAD(str,n,pad);
SELECT RPAD('02',5,'*');

6、TRIM();
SELECT TRIM('  HHELLO MYSQL  ');

7、SUBSTRING();

注意它的字符串索引是从1开始的

SELECT SUBSTRING('hello substring!',1,7);

五、练习

1、根据需求完成以下SQL编写。

由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。比如:1号员工的工号应该为00001。

(1)我们要操作的emp 表的数据,要操作的字段是工号(workno)。

也就是:1~9补4个'0',10~16要补3个'0'。

(2) 使用UPDATE ...  SET 以及左填充函数,对表中字段进行修改更新。

UPDATE emp SET workno=LPAD(workno,5,'0');

http://www.lryc.cn/news/360416.html

相关文章:

  • CTF本地靶场搭建——静态flag题型的创建
  • 基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五)
  • 开源VS闭源:大模型发展路径之争,你站哪一派?
  • Python | Leetcode Python题解之第115题不同的子序列
  • STM32高级控制定时器应用之检测输入PWM周期和占空比
  • [AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力
  • 【U-Net验证】逐元素乘积将特征投射到极高维隐式特征空间的能力
  • 快团团大团长帮卖如何导出单个团购的订单?免费教程教你怎么做!
  • services层和controller层
  • Pycharm编辑器下自定义模块导入报错:no module named问题
  • C#使用GDI对一个矩形进行任意角度旋转
  • 打印机的ip不同且连不上
  • 关于linux程序的查看、前台运行、后台运行、杀死的管理操作。
  • STM32作业设计
  • PHPSTOM配置Laradock,xdebug,phpunit
  • 使用Java进行数据分析和处理:应用在实际业务场景中的技术
  • C++中的List
  • go map 如何比较两个 map 相等
  • 牛客网刷题 | BC108 反斜线形图案
  • 数据的表示和运算
  • 【爬虫工具】油管视频批量采集软件
  • 【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
  • 使用python绘制小提琴图
  • 【C++】6-7 你好,输出的格式控制(三角形)
  • 力扣每日一题 6/1
  • 决定短视频打开率的要素:成都鼎茂宏升文化传媒公司
  • 解决通过包管理器下载 Sharp 时遇到的二进制文件下载问题
  • 反序输出c++
  • C++ 封装线程池(结合QT支持信号机制)
  • c# 学习教程