如何订购以Word开头的表格中的项目? [英] How Do I Order The Items In A Table Which Starts With A Word ?

查看:88
本文介绍了如何订购以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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆