我的SQL表中有2个字段。一个有5个数字(例如:12345),第二个字段有2个数字(例如:99)我需要知道是否有办法从第一个字段中获取最后一个数字并将其推送到第二个字段的开头。所以第一个字段是1234,第二个字段是599 ???
答案 0 :(得分:0)
UPDATE YourTable
SET Column2 = RIGHT(Column1, 1) + COALESCE(Column2, ''),
Column1 = LEFT(Column1, LEN(Column1)-1)
WHERE COALESCE(LEN(Column1), 0) > 1;
答案 1 :(得分:0)
这是一个典型的"这样做的方法。
update t
set col1 = left(col1, length(col1) - 1),
col2 = concat(right(col1, 1), col2);
具体细节取决于数据库。
注意:
left()
和right()
函数可能因数据库而异,但大多数数据库都支持它们。concat()
可能会被适当的运营商所取代,具体取决于数据库(' ||',' +','&&# 39 ;,脑海中浮现)。length()
有时称为len()
。答案 2 :(得分:0)
如果它是整数列:
update tablename set
c1 = c1/10,
c2 = mod(c1,10)*dpower(10,ceiling(dlog10(c2)))+c2