前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库基础Ⅲ(字符串处理)

数据库基础Ⅲ(字符串处理)

作者头像
摸鱼的G
发布2023-02-22 10:01:24
3340
发布2023-02-22 10:01:24
举报
文章被收录于专栏:火属性小虫
数据库基础Ⅲ(字符串处理)

在Java语言中,我们经常会对字符串进行处理,在MySQL中,我们同样也有这样的函数来处理字符 串,即使用CONCAT函数。

concat函数

语法:

代码语言:javascript
复制
SELECT column_name1,CONCAT(column_name2,str,column_name3),column_name4 FROM table_name;
  • 首先这是一个查询语句,最基本的结构是 SELECT 列名 FROM 表名
  • CONCAT函数可以拼接列名,也可以拼接字符串
  • 在使用CONCAT函数的时候可以同时查询其他的列
  • CONCAT函数的参数之间用英文 , 分隔

比如现在我们想查询timi_adc表中英雄的id,以及名字+胜率,我们可以利用concat函数,把结果的可 阅读性变得更好:

代码语言:javascript
复制
SELECT
  id,
  concat(hero_name, '的胜率是', win_rate)
FROM
  timi_adc;

我们可以看到查询结果有一列CONCAT,输出的第一条数据是,后羿的胜率是0.4995。

需要注意的是,如果拼接的值中有NULL,则结果一律为NULL,这是NULL本身特性决定的。

别名

我们优化拼接的结果,给他起一个别名,比如我希望查询结果的列名叫result,那么我们可以这么写:

代码语言:javascript
复制
SELECT
  concat(hero_name, '的胜率是', win_rate) as result
FROM
  timi_adc
WHERE
  id = 3;

TRIM函数

数据库记录的是用户输入的数据,用户输入时的数据通常不是我们所预期的,有时候它会包含空格等我 们并不需要的字符,从而产生脏数据,为了保持数据的格式正确,我们经常会使用TRIM函数来清理数 据。

如使用

代码语言:javascript
复制
SELECT
  trim(hero_name),
  trim(fever)
FROM
  timi_adc
WHERE
  id = 20;

则在最后查找出的hero_name和fever的结果会自动去掉空格

语法拓展

trim()函数也可以精准的去掉前面或者后面的空格,或者其他的字符,语法如下

代码语言:javascript
复制
TRIM( BOTH|LEADING|TRAILING removed_str FROM str);
  • TRIM函数可以加上LEADING来只除去前面的空格,或者加上TRAILING来只除去后面的空格,如果都不加,则默认是BOTH。
  • TRIM函数可以删除指定的字符串内容,如果不加,则默认删除空格。

如:

代码语言:javascript
复制
SELECT
  TRIM(
    TRAILING 'Q'
    FROM
      fever
  )
FROM
  timi_adc

即去掉fever尾部的Q

REPLACE函数

TRIM()函数不能去掉字符串中间的值,如果要修改中间的值,我们可以使用REPLACE()函数,它的语法 如下:

代码语言:javascript
复制
UPDATE table_name 
SET colunm_name = 
REPLACE(column_name,string_find,string_to_replace) 
WHERE conditions;

大家可以看到这个语法很复杂,它可以把找到的某个字符串替换成另一个字符串,其实我们可以直接用 UPDATE语句修改,所以REPLACE()函数的实用性并不高。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库基础Ⅲ(字符串处理)
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档