我正在使用Java和Selenium验证html表中的列是否正确排序。开发人员使用sql排序。
我按顺序将值输入到链表中。我制作链表的副本并执行Collections.sort()升序(然后将其反转以进行降序)。然后我比较两个列表并确保它们是相同的。我遇到了一个问题,因为对于a A b B
,sql排序为a A b B
,但Java排序为A B a b
。所以有人告诉我如何编写一个忽略案例的排序。这很有效。
我的问题?某些字段包含以下字符:$@%^!#@
(不,我不是咒骂;-))。 Java对这些进行排序与sql不同。我将它们放入excel电子表格并进行排序,并按照sql的方式进行排序,而不是像Java那样。
任何人都可以推荐一种排序(我认为可比较或比较)我可以用Java来模拟这些字符的sql排序吗?我的意思是我可以煞费苦心地查看每个角色,看看它在SQL排序中的位置,然后逐个字符地进行排序,但我希望有一种更简单的方法。
由于
P.S。 sql可能是A a B b
。我不记得,但这对问题来说并不重要
答案 0 :(得分:0)
我相信您应该在数据库会话上验证NLS_SORT。如果设置为'BINARY',它将匹配您的Java结果 - A,B,a,b
SELECT * FROM nls_session_parameters WHERE parameter ='NLS_SORT'; --Value是'BINARY' 选择*来自 ( 从双联盟中选择'B'作为x 从双联盟中选择'a'作为x 从双联盟中选择'A'作为x 从双重选择'b'作为x )x的订单;
有关详情,请http://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams130.htm#REFRN10127