如何订购以Word开头的表格中的项目? [英] How Do I Order The Items In A Table Which Starts With A Word ?
问题描述
我必须从包含特定单词的数据库中获取数据。使用以下查询来获取值
(UPPER(columnname)LIKE UPPER('%test%')
所以此查询工作正常并返回值。
以上查询返回值如下订单
aatest
ggtest
ddtest
test
kktest
mtest
但我想测试第一行,如下所示
测试
aatest
ggtest
ddtest
kktest
mtest
测试应该首先与搜索词完全匹配。但是其他值也需要显示但是经过测试。
在c#side我在网格中显示这个结果。我需要在C#datatable或oracle DB查询中执行此命令。
请帮助
I have to fetch data from data base which contains a particular word.Am using below query to fetch values
(UPPER(columnname) LIKE UPPER('%test%')
so this query is working fine and returning values.
Above query returning values like below order
aatest
ggtest
ddtest
test
kktest
mtest
but i want test as the first row,like below
test
aatest
ggtest
ddtest
kktest
mtest
test should come first as its matching with search word perfectly.But other values are also need to show but after test.
In c# side am showing this result in grid. I need to do this order in either in C# datatable or in oracle DB query.
Please help
推荐答案
添加类似的东西在查询结束时:
Add something like this at the end of query:
ORDER BY CASE WHEN FieldName = 'test' then 0 Else 1 END, FieldName
示例: http://sqlfiddle.com/#!6/ca7a1/2 [ ^ ]
通过将测试单词替换为空白来应用order by子句
例如按替换排序(列名,'测试','')
Apply the order by clause by replacing the Test word with blank
e.g. Order by Replace(columnname,'test','')
这篇关于如何订购以Word开头的表格中的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!