删除列中的一部分字符串

时间:2019-01-21 03:06:42

标签: mysql

我正在尝试删除字符串的一部分。但是不能正确地做。 String就像这样:4,290TL〜9,490TL因此尝试在此之后删除〜

我尝试过

UPDATE SET price = SUBSTRING_INDEX(price, '〜')

但是没有用。

3 个答案:

答案 0 :(得分:2)

SUBSTRiNG_INDEX需要3个参数,最后一个是定界符count。在这种情况下,您需要提供count为1的值,表示您希望所有内容都位于定界符 first 左边。此外,您需要在查询中指定表名。试试这个:

UPDATE yourtable SET price = SUBSTRING_INDEX(price, '〜', 1)

答案 1 :(得分:1)

请注意,您与此问题或评论共享的字符串使用不同的波浪线(“波浪号”)字符

# the tilde character used here is DIFFERENT to the next example
select substring_index('4,290TL〜9,490TL','〜',1) 
;
+----+------------------------------------------------------+
|    |      substring_index('4,290TL〜9,490TL','〜',1)      |
+----+------------------------------------------------------+
|  1 | 4,290TL                                              |

# the tilde character is different to the one above
select substring_index('18,990万円(1戸)~28,790万円(1戸)','~',1) 
;
+----+-----------------------------------------------------------+
|    | substring_index('18,990万円(1戸)~28,790万円(1戸)','~',1) |
+----+-----------------------------------------------------------+
|  1 | 18,990万円(1戸)                                           |

您需要确定用作定界符的代字号是在substring_index()中使用的代字号,否则该函数将只返回整个字符串。

答案 2 :(得分:0)

UPDATE SET price = SUBSTRING_INDEX(price,'〜',1)