我在查询数据库的时候遇到一个奇怪的问题,语句是:
select max(orderid) from tb_order;结果是:
max(orderid)
----------
9
为什么最大只能查询出max(orderid)=9,后面的都查不出来,
哪位能帮我解答一下吗?
谢谢了!
select max(orderid) from tb_order;结果是:
max(orderid)
----------
9
为什么最大只能查询出max(orderid)=9,后面的都查不出来,
哪位能帮我解答一下吗?
谢谢了!
orderid 数据类型varchar2(10)
里面存的是数字
而且是先从第一个开始比较.
所以'9'>'87'>'865'>'8435'>'84'
你可以从中找到规律吧?第一个大的就大,相等的就再比较后面一个.
PS:类似于这样要求的设计,一般是存储等长的字符串,数字不够长的就在前面填0,比如9,数据库中应该存储为:0000000009,这样应该里来会方便得多。只是存储的时候稍微麻烦一点