Как отсортировать столбец nvarchar в C # - PullRequest
0 голосов
/ 30 января 2019

У меня проблема с сортировкой столбца с типом данных nvarchar.Как мне отсортировать это в порядке возрастания.Данные в этом формате ...

1/0
22/21
19/26
2.3/14
29/0
1.3/44
85/30

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

эти данные генерируются путем объединения двух столбцов, то есть

select fromkm+"/"+frompole as FROM_KM from station;

fromkm и frompole имеют тип nvarchar в базе данных

Результат должен быть в следующем формате

1/0
1.3/44
2.3/14
19/26
22/21
29/0
85/30

Спасибо

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Выполните сортировку в SQL, используя order by.Обратите внимание, что, поскольку ваши данные хранятся как nvarchar, вам нужно будет преобразовать их в float / int при сортировке (или еще лучше - изменить типы данных столбцов в базе данных):

select fromkm +"/"+ frompole as FROM_KM 
from station
order by cast(fromkm as float), cast(frompole as int);
0 голосов
/ 30 января 2019

Попробуйте следующий запрос, добавьте предложение order by с именем вашего поля внутри функции Substring.

SELECT from km+"/"+ from pole as FROM_KM from station;
OEDER BY SUBSTRING(FROM_KM,1,2) ASC
...