Collections.sort() and ORDER BY in sql (MISMATCH)



我有这样的值

ZBX-A_INSTANCES
AGAAAACTX
_MONITORSTATUS
PERCENTAGE_UTILIZATION
1TEST1
_CEMCYPRESSTEST_01

. .在一列的多行中用于特定条件

我需要输出为1TEST1,AGAAAACTX,PERCENTAGE_UTILIZATION,ZBX-A_INSTANCES,_CEMCYPRESSTEST_01,_MONITORSTATUS作为JAVA查询的输入参数,使用Collections.sort()对JAVA中传递的字符串进行相同的输入


我尝试了ORDER BY结果为_CEMCYPRESSTEST_01 _MONITORSTATUS 1 test1, AGAAAACTX PERCENTAGE_UTILIZATION, ZBX-A_INSTANCES

受审

ORDER BY 
CASE
WHEN Parameter NOT LIKE '%[^a-zA-Z0-9]%' THEN 1
ELSE 2
END

从特殊字符排序sql结果是这样的AGAAAACTX, 1 test1, ZBX-A_INSTANCES、PERCENTAGE_UTILIZATION _CEMCYPRESSTEST_01, _MONITORSTATUS

只是修改链接的stackoverflow答案以适合您的查询:

select Parameter from table_name
ORDER BY 
CASE
WHEN Parameter NOT LIKE '%[^a-zA-Z0-9]%' THEN 1
ELSE 2
end, Parameter

最新更新