开发者

How to remove part of string in mysql?

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 statement so the result to be just somet开发者_如何学编程ext?


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


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.


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);


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)


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜