【重学 MySQL】三十一、字符串函数
【重学 MySQL】三十一、字符串函数

| 函数名称 | 用法描述 |
|---|---|
| ASCII(S) | 返回字符串S中的第一个字符的ASCII码值 |
| CHAR_LENGTH(s) | 返回字符串s的字符数,与CHARACTER_LENGTH(s)相同 |
| LENGTH(s) | 返回字符串s的字节数,和字符集有关 |
| CONCAT(s1,s2,…,sn) | 连接s1,s2,…,sn为一个字符串 |
| CONCAT_WS(x, s1,s2,…,sn) | 同CONCAT,但每个字符串之间要加上x |
| INSERT(str, idx, len, replacestr) | 将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr |
| REPLACE(str, a, b) | 用字符串b替换字符串str中所有出现的字符串a |
| UPPER(s) 或 UCASE(s) | 将字符串s的所有字母转成大写字母 |
| LOWER(s) 或 LCASE(s) | 将字符串s的所有字母转成小写字母 |
| LEFT(str,n) | 返回字符串str最左边的n个字符 |
| RIGHT(str,n) | 返回字符串str最右边的n个字符 |
| LPAD(str, len, pad) | 用字符串pad对str最左边进行填充,直到str的长度为len个字符 |
| RPAD(str, len, pad) | 用字符串pad对str最右边进行填充,直到str的长度为len个字符 |
| LTRIM(s) | 去掉字符串s左侧的空格 |
| RTRIM(s) | 去掉字符串s右侧的空格 |
| TRIM(s) | 去掉字符串s开始与结尾的空格 |
| TRIM(s1 FROM s) | 去掉字符串s开始与结尾的s1 |
| TRIM(LEADING s1 FROM s) | 去掉字符串s开始处的s1 |
| TRIM(TRAILING s1 FROM s) | 去掉字符串s结尾处的s1 |
| REPEAT(str, n) | 返回str重复n次的结果 |
| SPACE(n) | 返回n个空格 |
| STRCMP(s1,s2) | 比较字符串s1,s2的ASCII码值的大小 |
| SUBSTR(s,index,len) 或 SUBSTRING(s,n,len) 或 MID(s,n,len) | 返回从字符串s的index位置开始的len个字符 |
| LOCATE(substr,str) 或 POSITION(substr IN str) 或 INSTR(str,substr) | 返回字符串substr在字符串str中首次出现的位置,未找到返回0 |
| ELT(m,s1,s2,…,sn) | 返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,依此类推 |
| FIELD(s,s1,s2,…,sn) | 返回字符串s在字符串列表中第一次出现的位置 |
| FIND_IN_SET(s1,s2) | 返回字符串s1在由逗号分隔的字符串s2中出现的位置 |
| REVERSE(s) | 返回s反转后的字符串 |
| NULLIF(value1,value2) | 如果value1与value2相等,则返回NULL,否则返回value1 |
注意:MySQL中,字符串的位置是从1开始的。
举例:
| 示例SQL | 结果 |
|---|---|
SELECT FIELD('mm','hello','msm','amma'),FIND_IN_SET('mm','hello,mm,amma') FROM DUAL; | 0, 2 |
SELECT NULLIF('mysql','mysql'),NULLIF('mysql', ''); | NULL, 'mysql' |
相关文章:
【重学 MySQL】三十一、字符串函数
【重学 MySQL】三十一、字符串函数 函数名称用法描述ASCII(S)返回字符串S中的第一个字符的ASCII码值CHAR_LENGTH(s)返回字符串s的字符数,与CHARACTER_LENGTH(s)相同LENGTH(s)返回字符串s的字节数,和字符集有关CONCAT(s1,s2,…,sn)连接s1,s2,…,sn为一个字…...
828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统
828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统 1. 部署环境说明2. 部署基础环境2.1. 操作系统基本配置2.2. 部署Nginx2.3. 部署MySQL2.4. 部署PHP 3. 部署GLPI资产管理系统 1. 部署环境说明 本次环境选择使用华为云Flexus云服务器X实例,因为其具有高…...
深入理解Go语言的面向对象编程、Git与GitHub的使用
Go语言以其简洁、高效和并发支持而广受欢迎。虽然Go不是一种传统的面向对象编程(OOP)语言,但它提供了一些特性,使我们能够模拟OOP的某些概念。在本文中,我们将深入探讨Go语言中的面向对象编程技巧,以及如何使用Git和GitHub进行版本控制。通过丰富的代码示例和详细的解释,…...
redis底层—通信协议RESP
...
JVM 调优篇6 可视化性能监控工具-JVisual VM
一 Visual VM 1.1 概述 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具。 它集成了多个JDK命令行工具,使用Visual VM可用于显示虚拟机进程及进程的配置和环境信息(jps,jinfo),监视应用程序的CPU、GC、堆、方法区及线程的信息(jstat…...
C#学习笔记(三)Visual Studio安装与使用
博主刚开始接触C#,本系列为学习记录,如有错误欢迎各位大佬指正!期待互相交流! 上一篇文章中安装了Visual Studio Code来编写调试C#程序,但是博主的目标是编写带窗口的应用程序,了解之后发现需要安装Visual …...
element-plus的菜单组件el-menu
菜单是几乎是每个管理系统的软件系统中不可或缺的,element-plus提供的菜单组件可以快速完成大部分的菜单的需求开发, 该组件内置和vue-router的集成,使用起来很方便。 主要组件如下 el-menu 顶级菜单组件 主要属性 mode:决定菜单的展示模式…...
深入浅出通信原理
深入浅出通信原理 文章目录 深入浅出通信原理前言一、概述二、信号和频谱2.1 信号2.2 信号的分解与合成2.3 傅里叶变换的特性2.4 离散傅里叶变化 三 信道3.1 衰减和损耗3.2 多普勒效应 四 信源编码4.1 采样4.2 量化4.3 编码 五 基带信号的发送和接受5.1 脉冲成形5.2 眼图 六 频…...
Gitee Pipeline 从入门到实战【详细步骤】
文章目录 Gitee Pipeline 简介Gitee Pipeline 实战案例 1 - 前端部署输入源NPM 构建Docker 镜像构建Shell 命令执行案例 2 - 后端部署全局参数输入源Maven 构建Docker 镜像构建Shell 命令执行参考🚀 本文目标:快速了解 Gitee Pipeline,并实现前端及后端打包部署。 Gitee Pi…...
【贪心算法】贪心算法
贪心算法简介 1.什么是贪心算法2.贪心算法的特点3.学习贪心的方向 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.什么是贪心算法 与其说是…...
【网络原理】❤️Tcp 常用机制❤️ —— 延时应答,捎带应答, 面向字节流, 异常情况处理。保姆式详解 , 建议收藏 !!!
本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…...
Scratch教学案例 —— 制作生日蛋糕
小虎鲸Scratch资源站-免费少儿编程Scratch作品源码,素材,教程分享网站! 简介 在这个教学案例中,我们将使用Scratch制作一个简单而有趣的生日蛋糕动画。通过这个项目,学生可以学习到如何使用Scratch中的基本编程块进行角色控制、造型切换、舞台背景设置以…...
【深度学习】搞懂卷积神经网络(一)
卷积神经网络是一种具有局部连接,权重共享等特性的深层前馈神经网络。一般是由卷积层,池化层,全连接层交叉堆叠而成,使用反向传播算法进行训练。卷积神经网络具有一定程度上的平移,缩放和旋转不变性,较前馈…...
VisionPro - 基础 - 00 模板匹配技术和在VP中的使用 - PMAlign - PatMax - (上)
前言 模板匹配是机器视觉领域,尤其是工业视觉领域内,自动化经常要使用的一个视觉算法应用模式。在VP里面,有几种简单的模版匹配的算子,这里大致介绍一下VP的PatMax。 在视觉应用领域,搜索匹配的特征是经常要用到的方…...
容器镜像同步工具image-migrator
1 概述 image-migrator是一个用于容器镜像同步的可执行二进制命令行工具(不依赖于docker命令),能够自动将基于Docker Registry v2镜像仓库(registry、云厂商容器镜像服务、docker hub、Quay、Harbor )中的镜像迁移到基…...
嵌入式系统中的u-boot、kernel、rootfs的区别与关系
嵌入式系统中的u-boot、kernel、rootfs的区别与关系 1. 总览 在嵌入式Linux系统中,软件架构通常分为四个层次,从低到高依次为: 引导加载程序 (Bootloader):固化在硬件Flash中的引导代码,用于硬件基本配置和内核引导…...
K8s1.28 部署Dashboard获取登录信息
Kubernetes Dashboard 是一个基于 Web 的用户界面,用户可以通过它管理和监控 Kubernetes 集群。它提供了对容器化应用程序的概览、集群资源的状态查看、以及对服务和容器的简单操作管理。 配置 Dashboard 访问的方式: Kubernetes 中的服务类型默认是 C…...
智能化大数据平台引领企业迈向精准决策时代
随着科技的飞速发展,大数据平台正逐步迈向更加智能化和自动化的未来趋势。未来的数据平台不仅仅是一个简单的存储和处理数据的工具,而是一个能够自主学习、优化和做出决策的智能系统。这一转变将极大地改变企业处理数据的方式,提高决策的速度…...
1.3 计算机网络的分类
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言一、按分布范围分类二、按传输技术分类三、按拓扑结构分类四、按使用者分类五、按传输介质分类 前言 计算机网络根据不同的标准可以被分为多种类型,本章从分布…...
深入剖析protobuf.js之Field类:内部机制、使用实践与高级应用指南
引言 在protobuf.js库中,Field类扮演着极其重要的角色,它定义了消息(Message)中每个字段的元数据和行为。Field类不仅包含字段的类型、编号、规则等基本信息,还负责字段的序列化和反序列化逻辑。本文将对protobuf.js的…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法
使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...
Git 命令全流程总结
以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理: 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…...
深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”
深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀” 在JavaScript中,我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时,单纯依赖字符串或数组就显得力不从心了。这时ÿ…...
