• mysql字符串函数大全(更新完成)


    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主


    sql数据:

    -- phpMyAdmin SQL Dump
    -- version 4.8.5
    -- https://www.phpmyadmin.net/
    --
    -- 主机: localhost
    -- 生成日期: 2022-11-06 18:14:31
    -- 服务器版本: 5.7.26
    -- PHP 版本: 7.3.4
    
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    
    --
    -- 数据库: `a`
    --
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `customers`
    --
    
    CREATE TABLE `customers` (
      `id` int(11) NOT NULL COMMENT '主键id',
      `name` varchar(200) COLLATE utf8_unicode_ci NOT NULL COMMENT '名字',
      `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '时间'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    --
    -- 转存表中的数据 `customers`
    --
    
    INSERT INTO `customers` (`id`, `name`, `time`) VALUES
    (1, '12346789', '2022-11-06 08:16:11');
    
    --
    -- 转储表的索引
    --
    
    --
    -- 表的索引 `customers`
    --
    ALTER TABLE `customers`
      ADD PRIMARY KEY (`id`);
    
    --
    -- 在导出的表使用AUTO_INCREMENT
    --
    
    --
    -- 使用表AUTO_INCREMENT `customers`
    --
    ALTER TABLE `customers`
      MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', AUTO_INCREMENT=2;
    COMMIT;
    
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    ASCII(字段名)

    select ASCII(name) as  numname FROM Customers;
    
    • 1

    解析:as是起别名的意思。FROM Customers是哪一个表.select 是查询操作.ASCII(name)是查询name这个字段第一个字母的 ASCII 码.1的ASCII是49没错.

    在这里插入图片描述

    char_length(字段名)

    select char_length('cyg') as length;
    
    • 1

    解析:返回cyg这个字符串的字符数量.以1为起点

    在这里插入图片描述

    CHARACTER_length(“cyg”)

    SELECT CHARACTER_length("cyg") AS length666;
    
    • 1

    解析:返回cyg这个字符串的字符数量.以1为起点

    在这里插入图片描述

    concat

    SELECT concat("sql","mysql") as concat;
    
    • 1

    解析:合并字符串

    在这里插入图片描述

    concat_ws

    合并字符串。以-为分割符

    SELECT concat_ws("-","SQL","mysql") as concat_ws;
    
    • 1

    在这里插入图片描述

    FIELD()

    SELECT FIELD("c", "a", "b", "c", "d", "e");
    
    • 1

    解析:找到第一个字符c在"abcde"中第一次出现的位置.从下标0开始计算(就是从第一个c开始计算啦)

    在这里插入图片描述

    FIND_IN_SET()

    SELECT FIND_IN_SET("c", "a,b,c,d,e");
    
    • 1

    解析:字符串c在abcde中第一次出现的位置.从1开始计算.(就是从a开始计算啦)

    在这里插入图片描述

    format()

    SELECT format(250500.5634, 2);
    
    • 1

    在这里插入图片描述

    INSERT()

    SELECT INSERT("google.com", 1, 6, "runoob");
    
    • 1

    解析:从字符串第一个位置开始的 6 个字符替换为 runoob:

    在这里插入图片描述

    LOCATE

    SELECT LOCATE('st','myteststring');
    
    • 1

    解析:从第二个参数中查找第一个参数中第一次出现的位置(从1开始查找.)

    在这里插入图片描述

    LCASE()

    SELECT LCASE("CYG");
    
    • 1

    解析:把大写转换成小写

    在这里插入图片描述

    LEFT()

    SELECT LEFT('runoob',2);
    
    • 1

    解析:截取第一个参数中的开头的两个字符

    在这里插入图片描述

    LOWER()

    SELECT LOWER('RUNOOB');
    
    • 1

    解析:把大写转换成小写

    在这里插入图片描述

    lpad()

    SELECT lpad('abc',5,'xx');
    
    • 1

    解析:将字符串 xx 填充到 abc 字符串的开始处:

    在这里插入图片描述

    LTRIM

    SELECT LTRIM("    RUNOOB") AS LeftTrimmedString;
    
    • 1

    解析:去掉字符串 RUNOOB开始处的空格。

    在这里插入图片描述

    mid()

    select mid("RUNOOB", 2, 3) AS ExtractString;
    
    • 1

    解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:(从1开始计算)

    在这里插入图片描述

    position()

    SELECT position('b' in "abc");
    
    • 1

    解析:b在abc的哪一个位置。在上图是第二个位置,所以输出2

    在这里插入图片描述

    REPEAT()

    SELECT REPEAT('runoob',3);
    
    • 1

    解析:把第一个参数中的runoob重复三次

    在这里插入图片描述

    REPLACE()

    SELECT REPLACE('abc','a','x');
    
    • 1

    解析:把第一个参数中的a替换成x

    在这里插入图片描述

    reverse()

    SELECT   reverse("abc");
    
    • 1

    解析:把abc倒过来输出

    在这里插入图片描述

    RIGHT()

    SELECT RIGHT('runoob',2);
    
    • 1

    解析:返回字符串 s 的后 2个字符

    在这里插入图片描述

    rpad()

    SELECT rpad('abc',5,'xx');
    
    • 1

    解析:abc的结尾添加xx。使字符串长度达到5个。
    在这里插入图片描述

    RTRIM()

    SELECT RTRIM("RUNOOB     ") AS RightTrimmedString; 
    
    • 1

    去掉字符串结尾处的空格

    在这里插入图片描述

    SPACE()

    SELECT SPACE(10);
    
    • 1

    解析:返回 10 个空格:

    在这里插入图片描述

    strcmp()

    SELECT strcmp("runoob", "runoob");
    
    • 1

    解析:
    比较字符串 s1 (第一个参数)和 s2(第二个参数),如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1

    在这里插入图片描述

    SUBSTR()

    SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString;
    
    • 1

    解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:

    在这里插入图片描述

    SUBSTRING()

    SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; -- UNO
    
    • 1

    解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符

    在这里插入图片描述

    SUBSTRING_INDEX()

    SELECT SUBSTRING_INDEX('a*b','*',1);
    
    • 1

    解析:如果 number 是正数,返回第 number 个字符左边的字符串。
    如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。

    在这里插入图片描述

    SELECT SUBSTRING_INDEX('a*b','*',-1);
    
    • 1

    在这里插入图片描述

    TRIM()

    SELECT TRIM('    RUNOOB    ') AS TrimmedString;
    
    • 1

    解析:去掉字符串 RUNOOB 的首尾空格

    在这里插入图片描述

    UCASE()

    SELECT UCASE("runoob");
    
    • 1

    解析:将字符串 runoob 转换为大写

    在这里插入图片描述

    UPPER()

    SELECT UPPER("runoob");
    
    • 1

    解析:将字符串 runoob 转换为大写

    在这里插入图片描述

  • 相关阅读:
    SPECjvm 2008 小记
    加 3 行代码减少 80% 构建时间
    Git命令(持续更新中...)
    路由器桥接设置(扩大wifi信号)
    正则替换【JS,正则表达式】
    Linux 驱动开发 五十五:《fsl,imx-pinctrl.txt》翻译
    ESWC 2018 | R-GCN:基于图卷积网络的关系数据建模
    FPGA ——Verilog语法示例
    MySQL触发器
    2022年9月5号 SpringBoot自动配置原理初步了解。
  • 原文地址:https://blog.csdn.net/qq_37805832/article/details/127717279