SQL 文本函数

前言

SQL文本函数是SQL语言中非常有用的一类函数,它们用于处理和操作字符串数据。在实际应用中,我们经常需要对数据库中的文本数据进行各种操作,比如提取子串、替换子串、拼接字符串等等。而SQL文本函数可以帮助我们轻松地完成这些任务,提高我们的工作效率。

 

目录

前言

常用简单函数

查找子串位置

🍁LOCATE()

字符串截取

🍁LEFT()

🍁RIGHT()

🍁SUBSTRING() 

🍁SUBSTRING_INDEX()

字符串替换

🍁REPLACE()



常用简单函数

函数说明
CONCAT()将两个或多个字符串连接在一起。
LENGTH()返回字符串的长度。
UPPER()将字符串转换为大写字母。
LOWER()将字符串转换为小写字母。
LTRIM()删除字符串左侧的空格。
RTRIM()删除字符串右侧的空格。
TRIM()删除字符串两侧的空格。
REVERSE()反转字符串。


查找子串位置

🍁LOCATE()

语法:

LOCATE(substring, string, [start_position])

其中:

  • substring是要查找的子字符串。
  • string是主字符串。
  • start_position(可选)是开始搜索的位置,默认为1。

该函数返回子串 substring 在字符串 string 中第一次出现的位置,如果字符 substring 在字符串string 中不存在,则返回0;

示例:

mysql> SELECT LOCATE('world', 'Hello world!');
-- 返回结果为6,因为子字符串"world"在主字符串"Hello world!"中的位置是从第6个字符开始的。

 POSITION()LOCATE()函数类似,但POSITION()函数是MySQL的扩展功能,不是标准SQL中的一部分。

其语法:

POSITION(substring IN string)

其中:

  • substring是要查找的子字符串。
  • string是主字符串。

字符串截取

🍁LEFT()

语法:

LEFT(string, length)

其中:

  • string 是要提取字符的字符串。
  • length 是要提取的字符数。

该函数用于从字符串的左侧提取指定数量的字符。如果提取的字符数超过了字符串的长度,那么将返回整个字符串。

示例:

mysql> SELECT LEFT('Hello World', 5);
-- 返回结果为 "Hello",因为从字符串 "Hello World" 的左侧提取了前5个字符。

🍁RIGHT()

该函数与LEFT()函数类似,不同的是RIGHT()函数用于从字符串的右侧提取指定数量的字符。


🍁SUBSTRING() 

语法:

SUBSTRING(string, start_position, length)

其中:

  • string 是要提取子字符串的原始字符串。
  • start_position 是子字符串的起始位置(从1开始计数)。
  • length 是要提取的字符数。

该函数用于提取字符串的子字符串。如果省略了 length 参数,那么将返回从 start_position 到原始字符串末尾的所有字符。

 示例:

mysql> SELECT SUBSTRING('Hello World', 7, 5);
-- 返回结果为 "World",因为从字符串 "Hello World" 的第7个字符开始提取了后5个字符。

🍁SUBSTRING_INDEX()

语法:

SUBSTRING_INDEX(string, delimiter, count)

其中:

  • string 是要提取子字符串的原始字符串。
  • delimiter 是分隔符,用于指定要提取子字符串的位置。
  • count 是要提取的子字符串的数量。

该函数返回字符delimiter 在str中第count 次出现位置之前的字符串。如果省略了 count 参数,那么将返回从 delimiter 开始到原始字符串末尾的所有字符。若count为负数,将从末尾往前开始计数。

示例:

mysql> SELECT SUBSTRING_INDEX('www.example.com', '.', 2);
-- 返回结果为 "www.example"-> SELECT SUBSTRING_INDEX('www.example.com', '.', -2);
-- 返回结果为 "example.com"

字符串替换

🍁REPLACE()

语法:

REPLACE(string, from_substring, to_substring)

其中:

  • string 是要进行替换操作的原始字符串。
  • from_substring 是要被替换的子串。
  • to_substring 是用于替换的新子串。

该函数将返回一个新的字符串,其中所有的 from_substring 都被替换为 to_substring。如果原始字符串中没有找到 from_substring,则返回原始字符串。

示例:

mysql-> SELECT REPLACE('Hello World', 'World', 'MySQL');
-- 返回结果为 "Hello MySQL",因为将字符串 "Hello World" 中的 "World" 替换为了 "MySQL"。

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

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

相关文章

Python (十) 元组

元组 元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号 ( ),列表使用方括号 [ ]。 元组创建只需要在括号中添加元素,并使用逗号隔开即可。 访问 tup1 (hello,Java,Python,123,456) print(type(tup1)) print(tup1[1])#输出 …

Sam Altman 被罢免细节曝光,投资 100+ 公司或成「话柄」?

2022 年 11 月,ChatGPT 发布掀起 AI 狂潮。时隔 1 年,2023 年 11 月,ChatGPT 之父、Sam Altman 的一项人事巨变,再次掀起了一场 AI 界的风暴,只是这次并不是技术革命,而是 OpenAI 巨头换帅——Sam Altman 被…

【解疑】ZIP压缩包的密码可以取消吗?

ZIP是工作中经常用到的文件压缩格式,它可以将多个文件压缩成一个文件,便于传输和存储。有时候,为了保护文件的私密性,很多人还会在压缩文件的同时设置密码保护。那问题来了,要是后续不需要保护了,ZIP压缩包…

Swagger示例

对于项目完成后不用写文档,好处还是蛮大的 不需要关注项目其他 只关注接口与实体类即可 SpringBoot项目 依赖 <!--Swagger依赖--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version…

docker 安装mongodb 实现 数据,日志,配置文件外挂

docker 安装mongodb 实现数据&#xff0c;日志&#xff0c;配置文件外挂 1 背景 最近开发了一个评论系统之前用mysql来存储数据&#xff0c;但是考虑到后期业务增大访问量也会增大&#xff0c;为了兼容这种高并发的场景&#xff0c;因此经过多方面的考虑&#xff0c;我们最终…

一文搞懂设计模式之代理模式

大家好&#xff0c;我是晴天&#xff0c;本周我们又见面了。本周有点发烧感冒&#xff0c;更文有点慢了&#xff0c;请大家见谅。言归正传&#xff0c;本周我们继续一起学习一文搞懂设计模式系列文章之代理模式。 什么是代理模式 我们先来看看 GoF 对代理模式的定义&#xff1…

LaTeX 数学公式常见问题及解决方案

本文汇总了博主在使用 LaTeX 写文档过程中遇到的所有数学公式常见问题及对应的 LaTeX 解决方案 持续更新... 目录 1. 连等式2. 公式重新开始编号2.1 图片/表格重新编号 1. 连等式 在数学公式推导过程中常常会遇到如 Figure 1 所示的连等式&#xff0c;一般需要保证等号或者不等…

英伟达AI布局的新动向:H200 GPU开启生成式AI的新纪元

英伟达Nvidia是全球领先的AI计算平台和GPU制造商&#xff0c;近年来一直在不断推出创新的AI产品和解决方案&#xff0c;为各行各业的AI应用提供强大的支持。 最近&#xff0c;英伟达在GTC 2023大会上发布了一款专为训练和部署生成式AI模型的图形处理单元&#xff08;GPU&#…

无需公网IP、简单3步,直连远程NAS实现高速访问

面对NAS远程访问难题 蒲公英旁路组网盒子X1 一招搞定&#xff01; 无需公网IP、无需设置原有路由 简单3步&#xff0c;即可实现异地组网 更有点对点直连&#xff08;P2P&#xff09;模式 不限流量、不限速 传输速率取决于实际网络带宽 贝锐蒲公英X1&#xff0c;无需改变原…

springboot项目中没有识别到yml文件解决办法

springboot项目中没有识别到yml文件解决办法 ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传] 1、这个意思就是没有配置数据库的数据源路径。所以需要配置数据源&#xff0c;比如mysql的驱动和路径。检查是否在properties或者yml文件中是否已经配置好。…

Python 利用PIL由多张图片合成gif动画

Python 由多张图片合成gif动画 案例 import os figure_save_path "file_fig_test" import warnings warnings.filterwarnings("error") import numpy as np np.random.seed(0) import matplotlib.pyplot as plt from PIL import Image import timenum 1…