美文网首页
MySQL替换换行符

MySQL替换换行符

作者: 只是甲 | 来源:发表于2021-12-21 14:41 被阅读0次

一.问题描述

今天朋友突然问了一个问题,他想把今天hive里面表字段的备注多行转换为单行显示。

例如表t1的col1列,注释为:
1-有效
0-无效

想要的结果是:
1-有效,0-无效

二.解决方案

CHAR(10): 换行符
CHAR(13): 回车符

MySQL中,CHAR(10)是换行符,通过replace函数进行替换即可。

代码:

create table t2(id int,name varchar(100));


insert into t2 (id, name) values (1,'1-有效
0-无效');

select * from t2;

UPDATE t2 SET  name = REPLACE(name, CHAR(10), ',');

select * from t2;

测试记录:

mysql> 
mysql> create table t2(id int,name varchar(100));
Query OK, 0 rows affected (0.00 sec)

mysql> insert into t2 (id, name) values (1,'1-有效
    '> 0-无效');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t2;
+------+--------------------+
| id   | name               |
+------+--------------------+
|    1 | 1-有效

0-无效     |
+------+--------------------+
1 row in set (0.00 sec)

mysql> UPDATE t2 SET  name = REPLACE(name, CHAR(10), ',');
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from t2;
+------+--------------------+
| id   | name               |
+------+--------------------+
|    1 | 1-有效,,0-无效     |
+------+--------------------+
1 row in set (0.00 sec)

mysql> 

可以看到替换成功了,只是为什么会有两个",",这个有待分析.
初步考虑是字符串中的空行用得不对,此处改为concat函数。

代码:

create table t2(id int,name varchar(100));


insert into t2 (id, name) values (1,CONCAT('1-有效',CHAR(10),'0-无效') );


select * from t2;

UPDATE t2 SET  name = REPLACE(name, CHAR(10), ',');

select * from t2;

测试记录:

mysql> create table t2(id int,name varchar(100));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t2 (id, name) values (1,CONCAT('1-有效',CHAR(10),'0-无效') );
Query OK, 1 row affected (0.00 sec)

mysql> select * from t2;
+------+-------------------+
| id   | name              |
+------+-------------------+
|    1 | 1-有效
0-无效     |
+------+-------------------+
1 row in set (0.00 sec)

mysql> UPDATE t2 SET  name = REPLACE(name, CHAR(10), ',');
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from t2;
+------+-------------------+
| id   | name              |
+------+-------------------+
|    1 | 1-有效,0-无效     |
+------+-------------------+
1 row in set (0.00 sec)

mysql> 

参考:

  1. https://blog.csdn.net/iteye_3033/article/details/82537232

相关文章

  • MySQL替换换行符

    一.问题描述 今天朋友突然问了一个问题,他想把今天hive里面表字段的备注多行转换为单行显示。 例如表t1的col...

  • Notepad++ 将多行调整为逗号分隔的一行

    点击搜索-替换,查找目标为 ,替换为逗号,其中 表示尾符, 表示换行符;查找模式勾选为扩展,点击全部替换即可 替换...

  • word31

    题目 3.第一问:将所有手动换行符替换为普通的段落标记 查找内容:手动换行符 替换为:段落标记 第二问:将所有...

  • 怎么让windows和linux的文件中换行符去掉

    -i是inserts是替换\r$是换行符加末尾的意思

  • Word替换功能

    换行符^l替换为段落标记^p 查找所有中文,替换为空在查找替换中的查找栏里输入[!^1-^127],替换栏空着,然...

  • 换行符 软回车改变为硬回车

    1、打开查找与替换 Ctrl + h 2、查找内容--特殊格式--手动换行符(L) 3、替换为--特殊格式--段落...

  • python中的replace替换、和strip

    python中的replace替换、和strip 原文本存在换行符和空格 用strip去掉头尾默认空格或换行符 用...

  • Sublime 字符串操作

    替换只含有一个下划线的(有多个下划线就多替换几次): 替换换行符(行尾) 替换行首 替换某个字符a以后的数据

  • 2019-11-15 linux的替换:sed -i "s/查找

    sed -i "s/查找字段/替换字段/g" 例如:test.txt包括: a;bc;d 使用命令把;替换成换行符...

  • VIM 不常用功能(持续添加)

    一、替换 替换指定字符串为换行符 二、保存 在保存时获取 sudo 权限 命令 :w !cmd,让 vim 执行一...

网友评论

      本文标题:MySQL替换换行符

      本文链接:https://www.haomeiwen.com/subject/tmpcbltx.html