MYSQL 将 substring_index 中的最大值加 1

标签 mysql

我正在尝试将 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/

相关文章:

mysql - 将 Rollup 与子查询结合使用

python - django中的日期时间显示和时区转换

php - 使用 PHP、MySQL 和 jQuery 的长轮询技术的网络聊天应用程序

javascript - 导出并使 MYSQL 数据库中的字符串有效期为 7 天

c# - 统一 WebGL : can I access to MySql using MySqlConnector?

mysql - 使用 PhpMyAdmin 导出的 sql 文件包含错误消息

mysql - VARCHAR(x) - 在 MySQL 性能方面设置长度是否将其转换为 "fixed-length"?

mysql - 如何在 MySQL 中找到每天的最高分?

php - "SET CHARACTER SET utf8"是必要的吗?

mysql - 删除返回的 SQL 结果