How to remove part of string in mysql?

后端 未结 5 1766
既然无缘
既然无缘 2020-12-15 20:27

In one table of my database I have strings which looks like this one:

sometext-othertext

How to remove the text including dash with SELECT

相关标签:
5条回答
  • 2020-12-15 21:19

    SELECT REPLACE("sometext-othertext","-", "") as newvalue

    This should do it.
    Edit:

      SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1) as newvalue;
    

    apologies for not understanding the question earlier.

    0 讨论(0)
  • 2020-12-15 21:24

    Return the substring before the first occurrence of the delimiter "-":

    SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 1) as result;

    Outputs result = "foo"

    You can replace 1 with the numbers of occurrences you want before getting the substring

    SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 2) as result;

    Outputs result = "foo-bar"

    Reference: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

    0 讨论(0)
  • 2020-12-15 21:29

    better use mysql REPLACE function to replace "-" with ""

    0 讨论(0)
  • 2020-12-15 21:30

    have two ways to use troubleshooting this, if you like to display all (only just remove "-" symbol, i recommended use this because have more speed:

    SELECT REPLACE('sometext-othertext','-','');
    

    that syntax change text "-" to "" (empty text because you want just remove that)

    if you want to display only part one (ex :sometext) or just part two (ex :othertext) you can use this, for spliting string:

    SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1);
    
    0 讨论(0)
  • 2020-12-15 21:33

    just use :

    SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1);
    

    Function have 3 prameters, first that is a text, second is object for spliting, and number (1) for getting you want (the controller)

    0 讨论(0)
提交回复
热议问题