oracle服务 账号关于Oracle数据类型varchar2排序的解决方案

今天遇到一个关于Oracle varchar2的排序问题:

我现在的项目是个集成型客服系统,需要与多个外部系统进行交互。有一个外部系统供给我们系统的一个排序字段是varchar2类型。DBA通过物化视图刷新到我们自己的数据库表中,因为没有及时沟通,也做了同样类型映射。

 

在测试环节,因为外部系统没有提供足够的数据供我们测试,导致问题没有测试出来。

 

发布生产环境后,发现排序按照字符串:

1

10

11

2

21

22

3

这种方式不是BA想要的。但是又不能紧急发布,用户也不答应放在下次发布。

 

最后,通过思考,我给出如下方案:

   www.2cto.com  

在物化视图刷新数据时,做如下映射关系

 

排序源数据     排序映射数

1-9 a1-a9

10-99 b10-b99

100-999 c100-c999

1000-9999 d1000-d9999

…… ……

 

 

 

oracle账号 

作者 fanjf

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。