MySQL中的字符串相关函数

MySQL中的单行函数:
sql 中的主要数据类型有: 数值型、字符串型、日期型
接下来,我们研究一下字符串型相关函数

  1. CONCAT
SELECT CONCAT('abc','666','ABC') "details"  
FROM DUAL;

备注:以上代码中 'abc' '666' 'ABC' 是要合并的内容,details是列名。
代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. CONCAT_WS
SELECT CONCAT_WS('+++','abs','8958','@@@')  
FROM DUAL;

备注: 第一个引号里的内容为连接符,用来连接后面所有引号里的内容。
代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. CHAR_LENGTH('') 显示(’’)里内容的字符数
    LENGTH('') 显示(’’)里内容所占的字节数(中文字符,每个字占3个字节)
SELECT CHAR_LENGTH('ASDFGHGH'),LENGTH('ASDFGHGH'),CHAR_LENGTH('我是中国人'),LENGTH('我是中国人')
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. INSERT(str, index, len, insert) str为被改变的内容,index为改变的起始位置,len为被换掉的长度,insert为塞进去的内容
SELECT INSERT('hello',2,3,'www')
FROM DUAL;

备注:sql 中出现的索引都是从1开始的
代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. UPPER(sss)UCASE(sss) 将字符串sss的所有字母转成大写字母

  2. LOWER(sss)LCASE(sss) 将字符串sss的所有字母转成小写字母

  3. LEFT(sss,n) 返回字符串sss最左边的n个字符

  4. RIGHT(sss,n) 返回字符串sss最右边的n个字符

  5. LPAD(str,len,pad)str左边进行填充,直到str长度为len个字符
    str为被填充的对象所在的列字段,len为需要达到的总长度,pad为填进去的东西(pad为空时,此功能就是右对齐)

SELECT id ,LPAD(NAME,6,'***')
FROM t_emp;

代码编译结果如下:
在这里插入图片描述

注意:

在mysql中,字符串、数值型、日期型变量间存在隐式转换

----------------------------------------(分割线)---------------------------------

  1. RPAD(str,len,pad)str右边进行填充,直到str长度为len个字符
    str为被填充的对象所在的列字段,len为需要达到的总长度,pad为填进去的东西(pad为空时,此功能就是左对齐)
SELECT id ,RPAD(NAME,6,'***')
FROM t_emp;

代码编译结果如下:
在这里插入图片描述
举例:实现左对齐,代码如下

SELECT id ,RPAD(NAME,10,' ')
FROM t_emp;

代码编译结果如下:

在这里插入图片描述

----------------------------------------(分割线)---------------------------------

  1. LTRIM(sss) 去掉字符串sss左侧的空格
  2. RTRIM(sss) 去掉字符串sss右侧的空格

----------------------------------------(分割线)---------------------------------

  1. TRIM(s) 去掉字符串sss开始与结尾处的空格
SELECT TRIM('      123      ')
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. TRIM(s1 FROM S)去掉字符串s开始与结尾的s1
  2. TRIM(LEANDING s1 FROM s) 去掉字符串s开始处的s1
  3. TRIM(TRAILING s1 FROM s) 去掉字符串s结尾处的s1
  4. REPEAT(str,n)str的内容复制n

----------------------------------------(分割线)---------------------------------

  1. REPLACE(str,a,b) 用字符串b替代字符串str中出现的字符串a
SELECT REPLACE('helloworld','o','@')
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. STRCMP(s1,s2) 比较字符串s1s2 ,返回的结果是s1-s2的值(英文字母中,排序(a,b,c,d,e,f,g…)越靠后,值越大)
SELECT STRCMP('aaa','fff')
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
----------------------------------------(分割线)---------------------------------

  1. SUBSTRING(s,index,len) 返回一个从s字符串的index处开始,长度为len的字符串
SELECT SUBSTRING('helloworld','4','3')
FROM DUAL;

代码编译结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值