我有这样的值
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