如何删除mysql查询中的尾随或前导字符?

时间:2013-10-28 03:05:38

标签: mysql database replace

我有一个日语词典表,与日语对应的英语单词看起来像这样:

jap       eng                   marks     id
テクスト    /  text/ text book/     (n)     31112

我想删除前导和尾部斜杠和空格。它几乎总是有前导和斜杠,但也有有效的斜杠分隔多个英文含义。我如何编写一个查询,如果它是前导或尾随,将删除给定的字符串?在这种情况下,“/”是前导,“/”是尾随,但有时在末端或前面有多个斜线,有时有或没有不必要的空格

所以我想如果我有一些像

这样的查询
set eng = REPLACE_LEADING_OR_TRAILING(" /", "", eng)

我可以用所有可能性查询它

REPLACE_LEADING_OR_TRAILING("//", "", eng)
REPLACE_LEADING_OR_TRAILING(" /", "", eng)
REPLACE_LEADING_OR_TRAILING(" / ", "", eng)
REPLACE_LEADING_OR_TRAILING("/ ", "", eng)
REPLACE_LEADING_OR_TRAILING("/", "", eng)

我知道REPLACE()函数,但由于多个英语含义之间的有效斜杠,我无法看到我如何做到这一点。

1 个答案:

答案 0 :(得分:2)

您想使用TRIM功能:

要删除空格,只需在没有字段/变量

之外的其他参数的情况下调用它
SELECT TRIM(eng)

要删除其他字符,请改用此版本:

SELECT TRIM(BOTH '/' FROM eng);