MySQL trim()不删除字符串中的空格

MySQL trim()不删除字符串中的空格,mysql,Mysql,给定name列的值:AL-TAIRAWI贸易机构 Update ae_companies set uniqueidentifier = CONCAT(trim(LEFT(name, 5)), '_', id, '_ae') 上面的查询生成以下结果: AL TA_6_ae 我要找的是: ALTA_6_ae 我不知道为什么trim()在这里不起作用。使用replace()而不是trim() 在您的案例中不起作用(做您认为可以做的工作),因为其描述如下: 删除前导和尾随空格 当您使用LEFT(n

给定
name
列的值:
AL-TAIRAWI贸易机构

Update ae_companies set uniqueidentifier = CONCAT(trim(LEFT(name, 5)), '_', id, '_ae')
上面的查询生成以下结果:

AL TA_6_ae
我要找的是:

ALTA_6_ae
我不知道为什么
trim()
在这里不起作用。

使用
replace()
而不是
trim()

在您的案例中不起作用(做您认为可以做的工作),因为其描述如下:

删除前导尾随空格

当您使用
LEFT(name,5)
生成
AL-TA
时,当您使用这种方式将其环绕
TRIM()
时,所有前导和尾随空格都将被删除。在您的情况下,空格字符既不在最后一个位置,也不在第一个位置,所以这就是为什么修剪时结果不会改变的原因


您正在寻找的是一个
替换($INPUT_STRING,,'')
,用于截断输入字符串中所有出现的空格字符。

trim
实际起作用;但它只删除前导和尾随空间,而不是在字符串中间的任何空格。为此,您需要使用
替换
@mathielo。非常感谢你。
Update ae_companies 
set uniqueidentifier = CONCAT(replace(LEFT(name, 5), ' ', ''), '_', id, '_ae')