如何反转查询或c#中单词的顺序

时间:2010-06-07 10:31:17

标签: c# asp.net sql stored-procedures

我已将数据存储为

位置

印度,塔米尔纳杜,奈,Annanagar

当我在网格视图中绑定时,它将显示为 '印度,Tamilnadu,Chennai,Annanagar'这种格式。

但我需要以这种格式显示为'Annanagar,Chennai,Tamilnadu,India'。如何在查询或c#

中执行此反向顺序

注意:它以逗号分隔的形式存储在“印度,泰米尔纳杜,钦奈,安南那加”的一列中。

5 个答案:

答案 0 :(得分:10)

我相信OP提供的位置示例只是DB的一个结果,他正在寻找类似的东西:

string location = "India,Tamilnadu,Chennai,Annanagar";
string[] words = location.Split(',');

Array.Reverse(words);

string newlocation = String.Join(",", words);

Console.WriteLine(newlocation); // Annanagar,Chennai,Tamilnadu,India

答案 1 :(得分:2)

在SQL语法中:

SELECT location FROM locations ORDER BY location ASC // server side sorting

或者如果您在DataTable中得到结果,可以使用:

table.DefaultView.Sort = "location ASC"; // client side in-memory sorting

答案 2 :(得分:1)

在SQL中,您可以按查询使用订单。

SELECT * FROM location
ORDER BY City

这将返回City列按字母顺序排序的结果。

如果您想要撤销订单,那么它将从Z订购 - >你会做的

ORDER BY City DESC

在您将用于显示的查询中应用某种排序通常总是一个好主意,否则结果将以随机的非确定性顺序返回,这很少是您想要的。

答案 3 :(得分:1)

使用C#我们有:

var arr = new[] { "India", "Tamilnadu", "Chennai", "Annanagar" };

使用LINQ:

var q = from location in arr
        orderby location ascending // or descending
        select location;

使用扩展方法:

var q = arr.OrderBy(l => l);
var q = arr.OrderByDescending(l => l);

答案 4 :(得分:0)

您是否在询问如何以相反的顺序存储字符串Locality,City,State,Country?然后你不能使用排序。

如果您将所有值存储在单个字段中作为逗号分隔值,则在C#中,您可以将字符串拆分为逗号作为分隔符,然后通过使用逗号作为分隔符以相反顺序附加项目再次连接它