• 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;

    示例:

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

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

    其语法:

    POSITION(substring IN string)
    

    其中:

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

    字符串截取

    🍁LEFT()

    语法:

    LEFT(string, length)
    

    其中:

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

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

    示例:

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

    🍁RIGHT()

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


    🍁SUBSTRING() 

    语法:

    SUBSTRING(string, start_position, length)
    

    其中:

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

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

     示例:

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

    🍁SUBSTRING_INDEX()

    语法:

    SUBSTRING_INDEX(string, delimiter, count)
    

    其中:

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

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

    示例:

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

    字符串替换

    🍁REPLACE()

    语法:

    REPLACE(string, from_substring, to_substring)
    

    其中:

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

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

    示例:

    1. mysql-> SELECT REPLACE('Hello World', 'World', 'MySQL');
    2. -- 返回结果为 "Hello MySQL",因为将字符串 "Hello World" 中的 "World" 替换为了 "MySQL"。
  • 相关阅读:
    电脑系统重装后音频驱动程序怎么修复
    搭个ChatGPT算法模型,离Java程序员有多远?
    JavaScript常用事件详解
    【kkFileView】源码编译打包构建镜像部署
    SV基础知识---覆盖率 (概念理解)
    我的创作纪念日
    服务器数据备份最佳实践快速指南
    Go实现栈与队列基本操作
    ArcGIS实验教程——实验四十七:数据驱动页工具批量制作甘肃省各地级市人口七普专题图集
    禅道bug同步到飞书
  • 原文地址:https://blog.csdn.net/m0_73070900/article/details/134353547