一、MySQL 字符串函数

\ 函 数 名 称 作 用 完 成
1 LENGTH 计算字符串字节长度
2 CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个
3 INSERT 替换字符串函数
4 LOWER 将字符串中的字母转换为小写
4 UPPER 将字符串中的字母转换为大写
5 LEFT 从左侧字截取符串,返回字符串左边的若干个字符
5 RIGHT 从右侧字截取符串,返回字符串右边的若干个字符
6 TRIM 删除字符串左右两侧的空格
7 REPLACE 字符串替换函数,返回替换后的新字符串
8 SUBSTRING 截取字符串,返回从指定位置开始的指定长度的字符换
9 REVERSE 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串

1. CHAR_LENGTH、CHARACTER_LENGTH、LENGTH、OCTET_LENGTH 、BIT_LENGTH、~~UNCOMPRESSED_LENGTH~~

以上函数唯一参数都为字段名字符串


  • CHAR_LENGTH等同于CHARACTER_LENGTH:用于计算字符串的字符长度
  • LENGTH等同于OCTET_LENGTH: 用于计算字符串的字节长度
  • BIT_LENGTH:用于计算字符串位数

在第一行中,“三体第二部 ”中一个汉字占三个字节,表一个字符,空格或数字字母也算一个字符,所以字符长度为6;

但空格或数字字母只占一个字节,所以字节长度为16(15 + 1);

位数没什么好说的,这里采用的是utf8,乘8;


2. CONCAT、CONCAT_WS、GROUP_CONCAT


  • CONCATCONCAT_WS都能拼接多个字符串。
  • CONCATCONCAT_WS的区别主要在于:

    • concat只是单纯的将各字符串连接出来,而concat_ws指定了唯一分隔符(第一个参数)
    • 在mysql中,concat拼接数组中若有null值,则拼接字符串结果为null; 而concat_ws只会将null值的字符串忽略,最终拼接字符结果不会为null(除非拼接的全为null)。所以一般情况下能不使用concat就不使用concat,避免某字段值为null导致最终值为null


  • GROUP_CONCAT 要搭配GROUP BY来使用,将某一分组的字段的所有拼接一起,可排序,可使用separator指定分隔符。 与concat_ws一样,若某字段为null,最终结果只会忽略该字段,不会为null。

3. INSERT

INSERT(str,pos,len,newstr):

str表处理的初始字符串,pos表从str的第几位开始插入,len表插入的长度,newstr表插入的字符串。


  • 可以理解为该函数为,把str的第pos位~len为替换为newstr
  • 当pos超过str长度时,会直接返回str作为结果。
  • 当len超过str长度时,会将pos位往后的替换为newstr

LAST_INSERT_ID(): 获取最后插入的ID值


4. LOWER、UPPER

字符串大小写的相互转换


5. LEFT、RIGHT

取字符串从最左/右的若干各字符


6. TRIM

TRIM(BOTH FROM str) 等同于 TRIM(str)::删除左右俩侧空格

TRIM(LEADING FROM str) 等同于 LTRIM(str): 删除左侧空格

TRIM(TRAILING FROM str) 等同于 RTRIM(str): 删除右侧空格



7. REPLACE

REPLACE(str,from_str,to_str): 将str字符串中的from_str字符串替换为to_str


  • from_str和to_str不能为null,否则直接返回结果值为null。

8. SUBSTRING

SUBSTRING(str,pos)等同于SUBSTRING(str from pos): 取str第pos个字符后的字符串

SUBSTRING(str,pos,len)等同于SUBSTRING(str from pos for len): 取str第pos个字符后长度为len的字符串


  • pos为正数时表从第pos个字符开始取
  • pos为负数时表从倒数第pos个字符开始取

SUBSTRING_INDEX(str,delim,count): delim为分隔符,取str第count个分隔符前字符串


9. REVERSE

REVERSE(str):反转字符串


MySQL函数学习(一)-----字符串函数的更多相关文章

  1. Mysql截取和拆分字符串函数用法

    Mysql截取和拆分字符串函数用法 截取字符串函数: SUBSTRING(commentid,9) 意思是:从第9个字符开始截取到最后.SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结 ...

  2. xslt数值的函数与xslt字符串函数

    以下是xslt数值的函数与xslt字符串函数的说明与参考示例. 1.xslt数值的函数:(1)fn:number(arg) 返回参数的数值.参数可以是布尔值.字符串或节点集. 示例:<xsl:v ...

  3. Excel函数学习:HLOOKUP函数

    Excel函数学习:HLOOKUP函数 HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值. 什么情况下使用HLOOKUP? HLOOKUP函数可以在查找行中找到精确匹配值 ...

  4. mysql学习笔记--- 字符串函数、日期时间函数

    一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左 ...

  5. 【SQL】MySQL内置函数中的字符串函数和日期时间函数

    字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...

  6. C语言学习笔记--字符串函数

    字符串函数 需要包含头文件#include<stdio.h> strlen strcmp strcpy strchr strstr strcasestr

  7. 数据库Mysql的学习(七)-自定义函数和流程控制

    DELIMITER // (设置结束符 其实我也不太明白为啥要这样 记住就行把) CREATE FUNCTION ym_date(mydate DATE) (创建函数 函数名字(参数)) ) (指定函 ...

  8. Oracle截取字符串函数和查找字符串函数,连接运算符||

    参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...

  9. C/C++中经常使用的字符串处理函数和内存字符串函数

    一.            字符处理函数 1.        字符处理函数:<ctype.h> int isdigit(int ch) ;//是否为数字,即ch是否是0-9中的字符 int ...

随机推荐

  1. 【LeetCode】253. Meeting Rooms II 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序+堆 日期 题目地址:https://leetco ...

  2. 【LeetCode】47. Permutations II 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:递归 方法二:回溯法 日期 题目地址:htt ...

  3. 【LeetCode】647. Palindromic Substrings 解题报告(Python)

    [LeetCode]647. Palindromic Substrings 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/problems/p ...

  4. 移动端H5-iPhone安全距离适配

    安全区域? 安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners).齐刘海(sensor housing).小黑条(Home Indicator)影响,如下图蓝色区域: 也就是说 ...

  5. Java 将Excel转为OFD

    OFD是一种开放版式文档(Open Fixed-layout Document )的英文缩写,是我国国家版式文档格式标准.本文,通过Java后端程序代码展示如何将Excel转为OFD格式.方法步骤如下 ...

  6. C++函数参数的传递顺序

    C++编译器默认使用的是 __cdecl 模式,参数是通过栈传递的,因此是从右到左的传参顺序. int f(int a, int b, int c) { return 0; } int main(){ ...

  7. [opencv]膨胀腐蚀

    Mat dilateimg; Mat element = getStructuringElement(MORPH_RECT, Size(3, 3)); dilate(canny, dilateimg, ...

  8. 云南农业职业技术学院 - 互联网技术学院 - 美和易思《MYSQL 高级查询与编程》 综合机试试卷

    数据库及试题文档下载:https://download.csdn.net/download/weixin_44893902/14503097 目录 题目:电商平台 mysql 数据库系统管理 一. 语 ...

  9. Java程序设计基础笔记 • 【第6章 循环结构进阶】

    全部章节   >>>> 本章目录 6.1 for循环 6.1.1 for循环的简介 6.1.2 for循环的使用 6.1.3 for循环的表达式 6.1.4 实践练习 6.2 ...

  10. Spring @Component 注解的使用

    使用说明 这个注解用于声明当前的类是一个组件类,Spring 会通过类路径扫描来自动侦测和自动装配这些组件,创建一个个 bean 后,注册到 Spring 容器中. 带 @Component 注解的类 ...