как поменять порядок слов в запросе или c # - PullRequest
1 голос
/ 07 июня 2010

я сохранил в базе данных как

место

Индия, Тамилнад, Ченнаи, Annanagar

пока я привязываю в виде сетки, он будет отображаться как «Индия, Тамилнаду, Ченнаи, Аннанагар» в этом формате.

но мне нужно отображаться как «Аннанагар, Ченнаи, Тамилнаду, Индия» в этом формате. как выполнить этот обратный порядок в запросе или в c #

примечание: оно хранится в одном столбце как «Индия, Тамилнаду, Ченнаи, Аннанагар» с разделением запятой.

Ответы [ 5 ]

10 голосов
/ 07 июня 2010

Я полагаю, что пример местоположения, предоставленный 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
2 голосов
/ 07 июня 2010

В синтаксисе SQL:

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

Или, если у вас есть результат в DataTable, вы можете использовать это:

table.DefaultView.Sort = "location ASC"; // client side in-memory sorting
1 голос
/ 07 июня 2010

Используя 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);
1 голос
/ 07 июня 2010

В SQL вы можете использовать порядок по запросу.

SELECT * FROM location
ORDER BY City

Это вернет результаты, упорядоченные в алфавитном порядке по столбцу City.

Если вы хотите отменить заказ, чтобы он был заказан из Z -> A, вы бы сделали

ORDER BY City DESC

Как правило, всегда полезно применять в запросах какой-либо порядок, который будет использоваться для отображения, в противном случае результаты возвращаются в случайном недетерминированном порядке, что редко бывает желательным.

0 голосов
/ 07 июня 2010

Вы спрашиваете, как сделать строку Местность, Город, Штат, Страна, если она хранится в обратном порядке? тогда вы не можете сделать это, используя сортировку.

Если у вас есть все значения, хранящиеся в одном поле как значения, разделенные запятыми, в C # вы можете разделить строку запятыми в качестве разделителя, а затем соединить ее снова, добавляя элементы в обратном порядке, используя запятую в качестве разделителя. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...