我有一个字段,它存储属性04202011a1到04202011z1的列表编号,然后去04202011aa1到04202011zz1等等,我怎样才能得到下一个数字或字母组合自04202011它的日期添加和最后1它的用户标识符,增幅分别MySQL订单z1然后aa1
我可以各自单独的ID,但不知道如何获得最后一个
感谢
CG
我有一个字段,它存储属性04202011a1到04202011z1的列表编号,然后去04202011aa1到04202011zz1等等,我怎样才能得到下一个数字或字母组合自04202011它的日期添加和最后1它的用户标识符,增幅分别MySQL订单z1然后aa1
我可以各自单独的ID,但不知道如何获得最后一个
感谢
CG
你之后的字母只有一部分设法p ULL了非数字部分(或简单地将其存储在一个单独的领域作为米科Wilkman曾建议),并且要z
aa
前出现,你可以使用:
SELECT non_numeric_id FROM table
ORDER BY length(non_numeric_id), non_numeric_id
编辑
OK,退出非数字ID,假定列名是id
,你可以使用这个相当丑陋的解决方案:
SELECT
id,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
id,
'1',''),'2',''),'3',''),'4',''),'5',''),'6',''),'7',''),'8',''),'9',''),'0','')
AS clean_id
FROM table
ORDER BY length(clean_id), clean_id
的想法是首先删除所有号码,然后按长度排序,然后按字母顺序排列。
你的下一个序列是什么? '04202011aaa1'到'04202011zzz1'或'04202011b1'到'04202011z1'请澄清您的问题 – diEcho 2011-04-06 05:53:38
为什么不把它们作为单独的字段存储? – 2011-04-06 07:28:40
该序列使用第一个字母(a到z)然后它增加到2个字母(aa到zz),然后3,4,5等等,它增加取决于提交的天数 – charlymz 2011-04-06 19:09:35