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')