【发布时间】:2021-09-13 13:04:44
【问题描述】:
我想获取表格的最大值,然后将其与 +1 相加。这里的问题是列包含前导零并且列的长度不能大于4。
这里是一个例子:
表名:汽车
| id |
|---|
| C001 |
| C002 |
| ... |
| C009 |
我试图用这个 sql 查询来解决这个问题:
select concat(left(max(id),3),right(max(id),1)+1) as new from car;
结果:C0010 这个查询的问题是如果 C009 是最大的条目,查询应该返回 C010。但是,使用此查询,它会返回 C0010。
【问题讨论】:
-
除以数字和字符模式。增加。使用 LPAD 来添加前导零。连接字符。
-
使
id成为一个int,自动递增。然后在代码的表示层中添加C并填充到任意长度。没有必要在列中做这件事并导致你自己和数据库额外的工作
标签: mysql sql mysql-workbench