之后在mysql列中删除\ n和所有内容

时间:2015-01-25 08:03:04

标签: mysql

我有一个类似下面例子的mysql表。有时候一个额外的行一个\ n后面的信息列,我不需要,我想删除它只保留第一行。我如何在列中删除这些\ n以及后面的数据?

| column1          |
+------------------+
| name1            |
| useless info     |
+------------------+
| name2            |
+------------------+
| name3            |
+------------------+

我的目标是结束这个:

| column1          |
+------------------+
| name1            |
+------------------+
| name2            |
+------------------+
| name3            |
+------------------+

2 个答案:

答案 0 :(得分:1)

使用SUBSTRING_INDEX()

update your_table
set column1 = SUBSTRING_INDEX(column1 , '\n', 1) 

答案 1 :(得分:0)

update 
t
set t.col1 = 
case 
 when locate("\n",col1) > 0 
  then left(col1,locate("\n",col1))
 else col1 end
from test t