我需要通过移除最后一个字符来更新表中的值,如果它们以+
结尾
示例:
John+Doe
和John+Doe+
都应成为John+Doe
。
实现这一目标的最佳途径是什么?
答案 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;
?>