鉴于name
列的价值:AL TAIRAWI TRADING ESTABLISHMENT
Update ae_companies set uniqueidentifier = CONCAT(trim(LEFT(name, 5)), '_', id, '_ae')
上面的查询产生了这个:
AL TA_6_ae
我正在寻找的是:
ALTA_6_ae
我不知道trim()
为什么不在这里工作。
答案 0 :(得分:3)
使用replace()
代替trim()
。
Update ae_companies
set uniqueidentifier = CONCAT(replace(LEFT(name, 5), ' ', ''), '_', id, '_ae')
TRIM()
在您的情况下(完成您认为的工作),因为它的描述是:
删除前导和尾随空格
当你LEFT(name, 5)
生成AL TA
时,所有前导空格和尾随空格都会以TRIM()
方式将其删除。在你的情况下,空格字符既不是最后一个也不是第一个位置,所以这就是为什么你的结果在修剪时不会改变的原因。
您正在寻找的是REPLACE($INPUT_STRING, ' ', '')
来截断输入字符串中所有出现的空格字符。