在MySQL中增加字符串

时间:2013-12-18 08:45:09

标签: mysql

我想在MySQL中增加一个字符串值。它将在查询中用于获取第一个可用值。

我尝试使用基数为36的CONV(...),但并不涵盖所有情况。根据一些内部参数,字符串可以具有不同的结构。

可能的结构:

  pattern                   |    sample    |    incremented
----------------------------|--------------|-------------------
 ([0-9]+)                   |        1239  |           1240
 ([A-Z]+)                   |        ABCD  |           ABCE
 ([0-9]+)([A-Z]+)           |       1234A  |          1234B
 ([A-Z]+)([0-9]+)           |       ABCD1  |          ABCD2
 ([A-Z]+)-([0-9]+)-([A-Z]+) | ABCD-1239-Z  |    ABCD-1240-A
 etc.                       |              |

在MySQL可以吗?

1 个答案:

答案 0 :(得分:5)

一个简短的回答:不。

答案很长:您可以编写一个执行此操作的存储过程(或使用PHP / JAVA / ...执行此操作)。但仍然很难,因为没有明确的规则如何增加字符串。

以你的最后一个例子:ABCD-1239-Z到ABCD-1240-A 您需要一个查找规则 - 在字符串中并且永远不会更改它,但之前更改字符,将它们作为数字处理!

让我给出另一种可能的模式(可能会发生这种情况):Z-Z 怎么增加这个?它会变成AA-A还是1A-A或Z-AA?

如果你需要增加,而不是坚持一个数字。其他一切都会让你陷入困境。