我正在尝试将 1 添加到 mysql 查询中的最大字段值:
SELECT MAX(SUBSTRING_INDEX(0001-14-A,'-',1)) AS prefix;
结果:
prefix
------
0001
但是当我这样做时:
SELECT MAX(SUBSTRING_INDEX(0001-14-A,'-',1)) + 1 AS prefix;
结果:
prefix
------
2
如何将值格式保留为****?请指教。
最佳答案
首先,您缺少单引号:
SELECT MAX(SUBSTRING_INDEX('0001-14-A', '-', 1)) + 1 AS prefix
当您将值加一时,它会转换为整数。要取回字符串,您需要对其进行填充:
SELECT LPAD(MAX(SUBSTRING_INDEX('0001-14-A', '-', 1)) + 1, 4, '0') AS prefix
关于MYSQL 将 substring_index 中的最大值加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902875/