我想在MySQL中增加一个字符串值.它将在查询中用于获取第一个可用值.
我尝试CONV(...)使用36基座,但并不涵盖所有情况.根据某些内部参数,字符串可以具有不同的结构.
可能的结构:
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. | |
Run Code Online (Sandbox Code Playgroud)
在MySQL中有可能吗?
一个简短的回答:不.
答案很长:你可以写一个执行此操作的存储过程(或使用PHP/JAVA/...).但仍然很难,因为没有明确的规则如何增加字符串.
拿你的最后一个例子:ABCD-1239-Z到ABCD-1240-A你需要一个查找的规则 - 在字符串中并且永远不会改变它,但是之前更改字符,将它们作为数字处理!
让我给出另一种可能的模式(可能会发生这种情况):ZZ如何增加这个?它会变成AA-A还是1A-A或Z-AA?
如果你需要增加,而不是坚持一个数字.其他一切都会让你陷入困境.
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |