SQL 带前导零的混合字符串
SQL mixed String with leading zeros
我想得到一个 table 的最大值,然后加上 +1。这里的问题是该列包含前导零并且该列的长度不能大于 4。
举个例子:
表名:汽车
id
C001
C002
...
C009
我已经尝试用这个 sql 查询来解决这个问题:
select concat(left(max(id),3),right(max(id),1)+1) as new from car;
结果:C0010
此查询的问题在于,如果 C009 是最大条目,则查询应 return C010。但是,对于此查询,它 returns C0010.
SELECT CONCAT(LEFT(id, 1), LPAD(SUBSTRING(id FROM 2) + 1, 3, '0')) AS new
FROM car
我想得到一个 table 的最大值,然后加上 +1。这里的问题是该列包含前导零并且该列的长度不能大于 4。
举个例子:
表名:汽车
id |
---|
C001 |
C002 |
... |
C009 |
我已经尝试用这个 sql 查询来解决这个问题:
select concat(left(max(id),3),right(max(id),1)+1) as new from car;
结果:C0010 此查询的问题在于,如果 C009 是最大条目,则查询应 return C010。但是,对于此查询,它 returns C0010.
SELECT CONCAT(LEFT(id, 1), LPAD(SUBSTRING(id FROM 2) + 1, 3, '0')) AS new
FROM car