如果它是特定字符,请删除最后一个字符

时间:2014-05-20 23:06:04

标签: mysql sql phpmyadmin

我需要通过移除最后一个字符来更新表中的值,如果它们以+结尾

示例: John+DoeJohn+Doe+都应成为John+Doe

实现这一目标的最佳途径是什么?

4 个答案:

答案 0 :(得分:12)

UPDATE table 
SET field = SUBSTRING(field, 1, CHAR_LENGTH(field) - 1) 
WHERE field LIKE '%+'

答案 1 :(得分:1)

如果您尝试显示该字段而不是更新该表,则可以使用CASE语句:

select 
  case 
    when right(yourfield,1) = '+' then left(yourfield,length(yourfield)-1) 
    else yourfield end
from yourtable

答案 2 :(得分:0)

你没有准确解释这种情况。 但是如果你在文本中搜索名字。我将删除所有非字符(任何不是a-z和A-Z),包括空格然后进行比较。

如果您只想要最后一个字符,请尝试使用SUBSTRING_INDEX函数。

答案 3 :(得分:0)

如果您作为字符串传递给DB,则可以使用str_replace

执行此操作
<?php
$str = "John+Doe+";
$str = str_replace("+"," ",$str); 
echo  $str;
?>