在我的数据库的一个表中,我有一些看起来像这样的字符串:
sometext-othertext
Run Code Online (Sandbox Code Playgroud)
如何删除包含带有SELECT语句的文本的文本,所以结果只是sometext?
Blu*_*ind 25
在第一次出现分隔符" - "之前返回子字符串:
SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 1) as result;
输出结果="foo"
在获取子字符串之前,您可以将1替换为所需的出现次数
SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 2) as result;
输出结果="foo-bar"
参考:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index
SELECT REPLACE("sometext-othertext"," - ","")作为newvalue
这应该做到这一点.
编辑:
SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1) as newvalue;
Run Code Online (Sandbox Code Playgroud)
对于之前不理解这个问题表示歉意.
有两种方法可以解决此问题,如果您想显示全部(仅删除“-”符号,我建议使用此方法,因为速度更快:
SELECT REPLACE('sometext-othertext','-','');
Run Code Online (Sandbox Code Playgroud)
该语法将文本“-”更改为“”(空文本,因为您只想删除它)
如果您只想显示第一部分(例如:sometext)或仅显示第二部分(例如:othertext),您可以使用它来分割字符串:
SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40416 次 |
| 最近记录: |