【MySQL】 # 处理MySQL使用select语句查询出来的结果:(1)截取前几位,后几位(2)替换某个字段(3)按字段长度排序

1. 字段截取前几位、后几位

1.1  LEFT(str, len);

SELECT LEFT('sqlTest.com', 3);

-- 结果: sql

1.2  RIGHT(str, len);

SELECT RIGHT('sqlTest.com', 3);

-- 结果:com

注意: hibernate 框架不支持 left(), right() 函数

1.3  substring(str, pos);    substring(str, pos, len);

-- 从第 4 个字符(包含第4个)开始,直到结束
SELECT SUBSTRING('sqlTest.com', 4);
-- 结果:  Test.com


-- 从倒数第 4 个开始,直到结束
SELECT SUBSTRING('sqlTest.com', -4);  
-- 结果:  .com 


-- 从第 4 个字符开始,截取长度为 2 的数据
SELECT SUBSTRING('sqlTest.com', 4, 2);  
-- 结果:  Te

注意:pos 可以为负值,len的值不许为负

1.4  substring_index(str, delim, count)  可以引申为 以 delim 分割字符串

-- 截取第 2 个 '.' 之前的所有字符
SELECT SUBSTRING_INDEX('www.sqlTest.com.cn', '.', 2);
-- 结果:  www.sqlTest


-- 截取倒数第 2 个 '.' 之后的所有字符
SELECT SUBSTRING_INDEX('www.sqlTest.com.cn', '.', -2);
-- 结果:  com.cn


-- 如果找不到 delim 指定的字符,就返回整个字符串

-- 可以嵌套使用
SUBSTRING_INDEX(SUBSTRING_INDEX(字段, ',', 2); , ',', -1)

 

2. 替换字段

2.1 replace into

向表中插入数据,如果主键不存在直接插入,如果存在,则不会插入

REPLACE INTO 
    student (id, name)
VALUES
    ('1', 'aa'), ('2', 'bb')

2.2 replace(object, source, target)

把 object 中出现 source 的全部替换为 target

SELECT REPLACE ('www.163.com', 'w', 'a');

-- 结果: aaa.163.com

 

3. 按照字段长度排序

SELECT
    *
FROM
    student
ORDER BY
    LENGTH(name)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LRcoding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值