我有一个 SQL 查询
,我想在其中根据搜索参数获取颜色名称。 (数据库:Oracle10,前端:Java)
表(表1)
ID COLORNAME
--- --------------------
1 Blue
2 Light Blue
3 Dark Blue
4 Dark Red
5 Light Red
6 Red
以下是我的查询,用于获取包含 Red
单词的颜色列表(搜索参数为 Red
)
select * from table1
where colorname LIKE '%Red%'
输出:
ID COLORNAME
--- --------------------
4 Dark Red
5 Light Red
6 Red
以上输出是正确的,但我希望以 Red
开头的 ColorName
必须首先出现,然后是包含单词 Red
的颜色.
期待:
ID COLORNAME
--- --------------------
6 Red
4 Dark Red
5 Light Red
那么我怎样才能在查询中实现这一点呢?
最佳答案
取决于您如何决定红色应该放在第一位。 根据您的具体情况
select *
from table1
where colorname LIKE '%Red%'
order by nullif(colorname , 'Red') nulls first
关于java - 如何对SQL结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121625/