MySQL替换字符串" John Doe"与约翰D"

时间:2016-08-23 05:43:58

标签: mysql string replace

将一个大型名称表全部用作字符串"名称姓氏"

需要更新整个表格,将字符串设置为" Name FirstLetterOfSurname"即。 " John Citizen"成为" John C"。

似乎通过PHP更容易做到,例如

$name = "John Doe";
$expl = explode(' ', $name);
echo $expl [0].' '.$expl[1][0];
John D

想知道只是更新数据库的查询。

帮助感谢?

2 个答案:

答案 0 :(得分:0)

我找到空间的位置,并取一个字符的子字符串多于:

SELECT SUBSTR(name, 1, LOCATE(' ', name) + 1)
FROM   mytable

当然,这也可以作为更新来完成,而不是仅以正确的格式查询字符串:

UPDATE mytable
SET    name = SUBSTR(name, 1, LOCATE(' ', name) + 1)

答案 1 :(得分:0)

如果要更新数据库,请使用以下查询:

UPDATE TestTable 
SET FirstName = CONCAT(LEFT(FirstName, INSTR(FirstName, ' ')) , LEFT(SUBSTRING(FirstName, INSTR(FirstName, ' ') + 1), 1)) ;

请找到带有示例数据的 Working Demo