Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сортировка  [new]
cjhnbhjdrf
Guest
как заставить сервер (ms sql 2000) сортировать так
numb
901
902
1000


сейчас выходит так

numb
1000
901
902
23 окт 09, 12:10    [7828780]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Glory
Member

Откуда:
Сообщений: 104760
cjhnbhjdrf
как заставить сервер (ms sql 2000) сортировать так
numb
901
902
1000


сейчас выходит так

numb
1000
901
902

Потому что не надо числа хранить как строки и удивляться, что они соритируюмя как строки, а не как числа
23 окт 09, 12:11    [7828789]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
select
    *
from (
          select 901 as a
union all select 902
union all select 1000

) a
order by a.a

a
-----------
901
902
1000

(3 row(s) affected)

Что я делаю не так?
23 окт 09, 12:12    [7828802]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
cjhnbhjdrf
Guest
Glory,

ясно.

это клиентское приложение, и изменить его нет возможности.
Думал как то на уровне настроек сервера такое провернуть...
23 окт 09, 12:13    [7828813]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
cjhnbhjdrf
Guest
Гавриленко Сергей Алексеевич
select
    *
from (
          select 901 as a
union all select 902
union all select 1000

) a
order by a.a

a
-----------
901
902
1000

(3 row(s) affected)

Что я делаю не так?

Вы то все так, это мы не так :)

select
    *
from (
          select '901' as a
union all select '902'
union all select '1000'

) a
order by a.a
a
-----------
1000
901
902
23 окт 09, 12:16    [7828832]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Я ничего не понял
Автор, скажите, кто у Вас сейчас сортировкой занят - сервер или клиент?
23 окт 09, 12:16    [7828836]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
...order by convert(int, numb)
23 окт 09, 12:16    [7828839]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
cjhnbhjdrf
Guest
Паганель,

клиент посылает запросы, которые модифицировать нет возможности. А сортирует сервер
23 окт 09, 12:17    [7828851]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Ну так храните числа как числа
Почему Вам в этом может помешать клиент, я не понял
23 окт 09, 12:18    [7828860]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
cjhnbhjdrf
Паганель,

клиент посылает запросы, которые модифицировать нет возможности. А сортирует сервер


если нет возможности изменить текст запроса, то измените в таблице тип поля
23 окт 09, 12:19    [7828862]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
deto4ka
Member

Откуда: Пушкин
Сообщений: 215
Если клиент, ожидающий строковое поле, увидит в БД числовое, то он начнет ругаться, обидится и ничего записывать в такое поле не станет.
23 окт 09, 16:55    [7831244]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
borin
Member

Откуда: angarsk/msk
Сообщений: 677
cast(string as number)
23 окт 09, 17:01    [7831301]     Ответить | Цитировать Сообщить модератору
 Re: сортировка  [new]
cjhnbhjdrf
Guest
обойти удалось лишь добавлением еще одного числового поля для сортировки. Спасает то, что ситуации такие происходят крайне редко.
23 окт 09, 17:12    [7831387]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить