SQL Sever 默认排序 like 和PATINDEX
有两条select 语句
1) select top 20 a.* from tb1 a where PATINDEX('%usd%',a.INSTRUMENT )>0 order by search_order
2) select top 20 a.* from tb1 a where a.INSTRUMENT like '%USD%' order by search_order
很诡异的问题出现了,
两条语句选出来的数据假设都是300条的top 20,但是在服务器A的排序和服务器B的排序就是不一样,也就是说选出的top 20 不一致,用sp_helpsort 查了一下,都是
Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data
Search_order字段的值都是1。
请教一下,当search_order的值都一样,为什么like 和paintindex 的默认排序会有所不同,非常郁闷的是,不能再制定一个字段排序,只能用默认排序,怎样让这两个的输出完全一样?
求高人指点