Mysql进阶四:常见函数-字符函数

进阶四:字符函数
  • 概念:类似于java的方法,将一组逻辑语句封装在方法中,对外暴露方法名
  • 好处:1、隐藏了实现细节 2、提高代码的重用性
  • 调用:selet 函数名(实参数表)【FROM表】;
特点:
  • 1、叫什么(函数名)
  • 2、干什么(函数功能)
分类:
  • 1、单行函数 CONCAT LENGTH IFNULL等
  • 2、分组函数 (做统计使用,又称为统计函数、聚合函数、组函数)



内容概览
  • 1.length 获取字节数
  • 2.concat 用于拼接字符串
  • 3.upper lower 转换大小写
  • 4.substr substring 按要求截取字符串
  • 5.instr 查找字符串返回索引
  • 6.trim 去除空格、去除指定字符
  • 7.lpad 用指定字符左填充至指定长度
  • 8.rpad 用指定字符右填充至指定长度
  • 9.replace 替换字符串
内容详情
1. length获取参数值的字节数
SELECT LENGTH('john');      

在这里插入图片描述


SELECT LENGTH('张三丰');     

在这里插入图片描述


SHOW VARIABLES LIKE '%char%'#查询当前客户端使用的字符集

在这里插入图片描述


2. concat 用于拼接字符串
这两句需要分开运行,同时运行导致了错误
USE myemployees
SELECT CONCAT(last_name,'_',first_name) AS 姓名
FROM employees;

在这里插入图片描述


3. upper、lower
SELECT UPPER('john');#转换为大写

SELECT LOWER('joHn');#转换为小写
案例:将姓last_name大写,名字first_name小写,然后中间用 _ 拼接起来
SELECT CONCAT(UPPER(last_name),'_',LOWER(first_name)) AS 姓名
FROM employees;

在这里插入图片描述


4. substr、substring

提醒:这里索引从1开始

1.截取从指定字符开始及其后的所有字符,包含指定处的字符

SELECT SUBSTR('张三丰爱他媳妇!',6) out_put;

在这里插入图片描述

2.截取从指定索引处开始指定字符长度的字符

SELECT SUBSTRING('张三丰爱他媳妇!',1,3) out_put;

在这里插入图片描述


案例:姓中首字母大写,其他字符小写,然后用_拼接
SELECT CONCAT (UPPER(SUBSTRING(last_name,1,1)),
LOWER(SUBSTR(last_name,2)),'_',
LOWER(SUBSTR(first_name,1)) )
AS 姓名
FROM employees;

5. instr
返回字串在字符串中的首次出现的索引,如果找不到返回0
SELECT INSTR('张三丰爱上了柳六六','柳六六') AS out_put;

在这里插入图片描述

SELECT INSTR('张三丰爱上了柳六六','牛七七') AS out_put;

在这里插入图片描述


6. trim

去前后空格

SELECT TRIM('     张 三丰') AS out_put;

在这里插入图片描述

前后的 ‘a’,字符串中间的则不去

SELECT(TRIM('a' FROM 'aaaaaaaaaa张三aaaa丰aaaa')) AS out_put;

在这里插入图片描述


7. lpad 用指定的字符实现左填充指定长度

此处汉字所占长度视为1

SELECT LPAD('张三丰' ,6,'*') AS out_put;
从左处开始填充,使得总长度为6

在这里插入图片描述


8.rlpad 用指定的字符实现右填充指定长度

此处汉字所占长度视为1

SELECT RPAD('张三丰' ,5,'&') AS out_put;
从右处开始填充,使得总长度为5

在这里插入图片描述


9. replace 替换
SELECT REPLACE('张三丰爱上了李思思','李思思','马六六') AS out_put;

在这里插入图片描述

SELECT REPLACE('张三丰爱上了思思李思李思思李思思思','李思思','马六六');

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北溟南风起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值