MySQL --- 常用函数 - 字符串函数

2023-10-26

函数

MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。

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(列|字符串) 将字符串每个字符转为大写 

如果用 emp 表可以发现测试数据输出了很多次,因为 emp 表中有很多条数据,每一条数据都要执行一下

使用MySQL中的虚拟表,只有一行数据,正好可以用来进行测试函数,也可以不写

LOWER(列|字符串) 将字符串每个字符转为小写

可以发现,如果大小写相结合,使用 LOWER 后全部变成小写

CONCAT(str1,str2,. . . ) 将所有字符串连接成一个字符串 

字符串用单引号和双引号都可以

如果字符串中有引号 ' ' ',需要用转义字符 ' \ ' 进行转义

REPLACE(列|字符串,旧字符串,新字符串) 使用新字符串替换旧字符串 

LENGTH(列|字符串) 求字符串长度 

获取字符串左边 2 个字符组成的字符串、获取字符串右边 2 个字符组成的字符串、获取字符串中间 2 个字符组成的字符串

LEFT(str,len) 获取字符串左边len个字符组成的字符串
RIGHT(str,len) 获取字符串右边len个字符组成的字符串
MID(str,pos,len) 获取字符串中从pos(第几个)位置开始,长度为len的字符串
SELECT LEFT('hello',2),RIGHT('hello',2),MID('case',2,2);

ASCII(字符) 返回与指定字符对应的十进制整数 

SELECT ASCII('A');

CHR(数字) 返回与整数对应的字符 

SELECT CHAR(65);

RPAD(列|字符串,长度,填充字符) LPAD(列|字符串,长度,填充字符) 用指定的字符在字符串右或左填充 

SELECT RPAD('Hello',10,'*'),LPAD('Hello',10,'*');

在左右两边各填充 5 个 ' * ',先填充右边,把整个当成一个字符串,在前面填充 ' * '

SELECT LPAD(RPAD('Hello',10,'*'),15,'*');

去掉字符串左或右的空格、去掉字符串左右空格

LTRIM(字符串)、RTRIM(字符串) 去掉字符串左或右的空格
TRIM(列|字符串) 去掉字符串左右空格
SELECT LTRIM('    123    *') 左,RTRIM('*    123    ') 右,TRIM('    123    ') AS 'All';

不能去掉字符串中间的空格

INSTR(列|字符串,要查找的字符串,开始位置,出现位置) 查找一个子字符串是否在指定的位置上出现 

SELECT INSTR('我爱C语言','C语言');

没有查找到的情况

1.把员工姓名首字母大写 Smith

SELECT UPPER(LEFT(ename,1)) FROM emp;

SELECT UPPER(LEFT(ename,1)),LOWER(SUBSTR(ename,2)) FROM emp;

SELECT CONCAT(UPPER(LEFT(ename,1)),LOWER(SUBSTR(ename,2))) FROM emp;

2.查询出姓名长度是 5 的所有员工信息 或者使用模糊查询 LIKE  MySQL --- 数据库查询 - 条件查询

SELECT * FROM emp WHERE LENGTH(ename)=5;

3.查询出员工姓名前三个字母是'JAM'的员工,截取开始点和长度

SELECT * FROM emp WHERE SUBSTR(ename,1,3)='JAM';

4.查询所有员工信息,但是不显示姓名的前三个字母

SUBSTR(列|字符串,开始点[,长度]) 字符串截取

SELECT ename 原始字符串,SUBSTR(ename,3) AS '子串' FROM emp;

查询所有员工信息,但是只显示姓名的后三个字母  

SUBSTR(列|字符串,开始点[,长度]) 字符串截取

SELECT ename 原始字符串,SUBSTR(ename,-3) AS '子串' FROM emp;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL --- 常用函数 - 字符串函数 的相关文章

随机推荐

  • 达梦数据库报“网络通信异常”分析解决

    前言 达梦数据库在通过程序插入具有BLOB字段的记录时 非通过SQL直接插入 报 通信异常 通过更换达梦库驱动包解决 问题 在一个项目现场 在进行数据导入时 总时报 网络通信异常 19 08 56 ERROR Application exc
  • element-ui下的table的鼠标悬浮颜色修改

    对于表格 有时候仅仅用作展示效果 所以不需要悬浮之类的效果 但是官网上又没有修改悬浮颜色的 这里使用类名样式覆盖 v deep el table enable row hover el table body tr hover gt td b
  • dns服务器和域控制器在同一台计算机上安装.( ),Certkiller.COM有一个ActiveDirectory域控制器。所有域控制器配置为DNS服务器和WindowsServer2008安装。只...

    YouareimplementinganASP NETDynamicDataWebsite TheWebsiteincludesadatacontextthatenablesautomaticscaffoldingforalltablesi
  • C语言--通过指针引用数组

    C语言 通过指针引用数组 文章目录 C语言 通过指针引用数组 前言 1 引用数组元素时指针的运算 2 通过指针引用数组元素 引用数组的方式 示例 用三种方法输出元素中的全部元素 方法一 直接引用a i 方法二 间接引用 通过数组名计算数组元
  • python 实现将字典写入csv文件

    shutdown yunfeiyang username yunfeiyang binding house 0 1 1 2 register time 2018 20 import csv csvfile file csvtest csv
  • mybatis与spring boot的集成

    前言 MyBatis提供了整合到 Spring Boot 的方案 mybatis spring boot starter 能够让你快速的在 Spring Boot 上面使用 MyBatis 那么我们来看看这个 mybatis spring
  • TortoiseSVN客户端用法

    从图中可以看到 涉及SVN的选项有3个 1 SVN Update 从服务器更新到本地 2 SVN Commit 从本地提交到服务器 3 TortoiseSVN 查看详细的SVN选项 一 更新 更新使用SVN Update选项 点击SVN U
  • 【微信小程序】小程序项目之上传视频实践

    人狠话不多 看代码 wxml
  • 利用iframe跨域请求

    跨域是系统与系统之间信息交流的一种方式 为了获取另外一个地方的信息 经常会出现跨域 总结一下利用iframe跨域进行请求 网上关于跨域的信息很多 只做一下备忘
  • JavaDay08

    定义一个方法 根据成绩 返回对应的等级 package com bjpowernode demo01 exercise import java util Scanner 定义一个方法 根据成绩 返回对应的等级 public class De
  • Kruskal算法

    Kruskal算法 Kruskal算法是一种用来查找最小生成树的算法 由Joseph Kruskal在1956年发表 用来解决同样问题的还有Prim算法和Boruvka算法等 三种算法都是贪心算法的应用 和Boruvka算法不同的地方是 K
  • 网管实战(6):忘记交换机密码的处理(HUAWEI S5735)

    今天拿到一台华为S5735的交换机 有密码进不去 网上找资料进入了 记录下来以备后查 利用交换机的BootROM提供了清除Console口密码的功能 在用户使用Console口登录的时候跳过密码检查 进入交换机后修改Console口密码 然
  • String类常见构造方法大全(Java)

    目录 字符串 String 1 字符串的拼接与反转 2 金额转换 字符串 StringBuilder 字符串 StringJoiner 综合练习 字符串 String 构造方法摘要 字符串的内容是不会发生改变的 他的对象在创建后不能被更改
  • sql server 备份还原(相关文章很凌乱)

    1 首先安装Microsoft SQL Server Management Studio 下载 SQL Server Management Studio SSMS SQL Server Management Studio SSMS Micr
  • 反编译--jadx的下载使用与配置

    下载与安装 git clone https github com skylot jadx git cd jadx gradlew dist 找到 jadx gui bat文件双击安装即可
  • 基于综合指标的冬小麦长势无人机遥感监测

    用于描述作物长势的指标 苗情 作物密度 叶面积指数 LAI 生物量 干物质量 光合色素含量 目前有关小麦长势监测的研究 多数是以LAI 叶片叶绿素含量 氮素含量 水分含量 生物量单个指标反映小麦长势 本文尝试将LAI 叶片叶绿素含量 氮素含
  • nvm安装与使用

    一 介绍 nvm 全称 Node Version Manager 顾名思义它是用来管理 node 版本的工具 方便切换不同版本的Node js 二 使用 nvm 的使用非常的简单 跟 npm 的使用方法类似 2 1 下载安装 首先先下载 n
  • 6.7行为型---中介者模式

    在现实生活中 常常会出现好多对象之间存在复杂的交互关系 这种交互关系常常是 网状结构 它要求每个对象都必须知道它需要交互的对象 例如 每个人必须记住他 她 所有朋友的电话 而且 朋友中如果有人的电话修改了 他 她 必须告诉其他所有的朋友修改
  • float和double的范围和精度

    float与double的范围和精度 1 范围 float和double的范围是由指数的位数来决定的 float的指数位有8位 而double的指数位有11位 分布如下 float 1bit 符号位 8bits 指数位 23bits 尾数位
  • MySQL --- 常用函数 - 字符串函数

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