我有一张表,上面有一些值,如下所示,
Slno
---------
IFAAA1121
IFAAA1122
IMBBB1121
IMBBB11223
我的目标是将slno重新格式化为以下格式,
Slno
---------
IF-AAA-1121
IF-AAA-1122
IM-BBB-1121
IM-BBB-11223
怎么可能?
我的问题是:
UPDATE `certificate_log_uae`
SET `DeviceSerialNumberTemp` = REPLACE(LEFT(DeviceSerialNumberTemp,2),
LEFT(DeviceSerialNumberTemp,2).'-')
3条答案
按热度按时间xdnvmnnf1#
试着简单一点
insert
功能:演示
要更新值,请尝试:
s4n0splo2#
一种方法是只使用串联构建您想要的最终字符串:
演示
如果您使用的是mysql 8+或更高版本,那么有一个非常简单的基于regex的解决方案,使用
REGEXP_REPLACE
:演示
vnzz0bqm3#
你可以用
Substr()
函数从输入字符串中获取不同位置和长度的子字符串。因为最后一个子串的长度不是固定的;我们可以简单地指定分割子字符串的起始位置,而不指定length参数。它将考虑子字符串,直到整个字符串结束。
现在,只需使用
-
适当地。请尝试以下操作: