我昨天发布了这个问题,但我认为不清楚,所以我删除了它并再次发布了更多详细信息。在我的 oracle 数据库中,我有一个id_user定义为varchar的 USERS 表,这个 varchar 是这样的: '145/1' ...... '145/9' 所以要添加一个新用户,我检查最大值(' 145/9')并将 1 加到 id_user 的第二部分(斜线之后),使 id_user 为 '145/10'。
步骤是这样的:
- 首先:我使用substr()来获取所有 id_user 的第二部分(斜线之后)。
- 第二:我使用 Cast() 将其转换为 Int。
- 第三:我使用 Max() 来获取 Int 数的最大值。
最后在我的 laravel 代码中,我使用了这个查询的结果(结果是 9)并向它添加 1 并在用户表中插入一个新用户,id_user = '145/10' 等等。此查询工作正常,但我在查询生成器中需要它,所以我尝试了很多查询,但它们没有工作。(请帮助我)
SELECT MAX(CAST(SUBSTR(id_user, INSTR (id_user, '/') + 1) AS INT)) AS Aggregate
FROM "users"
WHERE "ID_USER" LIKE '145/%';