Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сортировка по текущей дате  [new]
Mr.nobody
Member

Откуда:
Сообщений: 19
Доброго времени суток.
Есть таблица с двумя датами


select *
from MyTable
where MyInDateTime > '01.10.12'
and   MyInDateTime < '31.10.12 23:59'
or	 MyOutDateTime > '01.10.12'	
and	 MyOutDateTime < '31.10.12 23:59'
order by ????

Как отсортировать MyInDateTime или MyOutDateTime(Или вместе оба) по Текущей дате ?
16 окт 12, 20:49    [13329432]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
MyInDateTime или MyOutDateTime(Или вместе оба)


Сортируются не поля, а записи. Если исходить из того, что текущая дата для всех выбранных записей - это константа, то просто уберите ORDER BY.
16 окт 12, 21:08    [13329469]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Читатель неместный
Guest
Mr.nobody
Доброго времени суток.
Есть таблица с двумя датами


select *
from MyTable
where MyInDateTime > '01.10.12'
and   MyInDateTime < '31.10.12 23:59'
or	 MyOutDateTime > '01.10.12'	
and	 MyOutDateTime < '31.10.12 23:59'
order by ????

Как отсортировать MyInDateTime или MyOutDateTime(Или вместе оба) по Текущей дате ?

select *
from MyTable
where MyInDateTime <='31.10.12 23:59'
and '01.10.12' <=MyOutDateTime
order by datediff(day,MyOutDateTime,getdate()) 
16 окт 12, 21:09    [13329470]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Читатель неместный
Guest
автор
Читатель неместный,
Вы написали полную хрень в части сортировки
согласен)
16 окт 12, 21:17    [13329487]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Mr.nobody
Member

Откуда:
Сообщений: 19
Что то совсем запутался ....
Есть отрезок времени
MyInDateTime - начало
MyOutDateTime - конец
Надо вывести "Отрезки" за месяц и отсортировать их по текущей дате(И начало и конец)
При таком запросе сортирует только по MyInDateTime и сразу по текущей дате
select *
from MyTable
where MyInDateTime <='31.10.12 23:59'
and '01.10.12' <=MyOutDateTime
как отсортировать сразу по двум датам ?
16 окт 12, 21:48    [13329552]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Mr.nobody
При таком запросе сортирует только по MyInDateTime и сразу по текущей дате


А где здесь кляуза ORDER BY?!

автор
как отсортировать сразу по двум датам ?


Перечилисть их через запятую в кляузе ORDER BY?
16 окт 12, 21:53    [13329559]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Mr.nobody
Member

Откуда:
Сообщений: 19
pkarklin
Mr.nobody
При таком запросе сортирует только по MyInDateTime и сразу по текущей дате


А где здесь кляуза ORDER BY?!
Так сам сортирует(MSsql2008), притом будущие дни ставит в конец(На время не обращает внимания).

pkarklin
Mr.nobody
как отсортировать сразу по двум датам ?


Перечилисть их через запятую в кляузе ORDER BY?
Так вопрос собственно и в этом.
Я в sql не силен и сортировку только по возрастанию и убыванию знаю=(
16 окт 12, 22:06    [13329595]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Mr.nobody
Что то совсем запутался ....
Есть отрезок времени
MyInDateTime - начало
MyOutDateTime - конец
Надо вывести "Отрезки" за месяц и отсортировать их по текущей дате(И начало и конец)
При таком запросе сортирует только по MyInDateTime и сразу по текущей дате
select *
from MyTable
where MyInDateTime <='31.10.12 23:59'
and '01.10.12' <=MyOutDateTime
как отсортировать сразу по двум датам ?
Какого типа MyInDateTime и MyOutDateTime?

Кажется, 31-го месяца не бывает? И здесь говнокод детектед!
16 окт 12, 22:10    [13329605]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Mr.nobody,

автор
Так сам сортирует(MSsql2008)


Без указания ORDER BY сервер выдает результаты так, как ему будет "удобно".

автор
и сортировку только по возрастанию и убыванию знаю


А другой ее не бывает.

Сообщение было отредактировано: 16 окт 12, 22:12
16 окт 12, 22:11    [13329609]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Mr.nobody
Member

Откуда:
Сообщений: 19
iap
Какого типа MyInDateTime и MyOutDateTime?

Формат datatime - из запроса определить я думаю труда не составит.
iap
Кажется, 31-го месяца не бывает?

Формат записи европейский дд.мм.гг, есть еще американский гг.мм.дд(В каком формате задавать условия в данный момент роли не играет так как будет подставляться автоматически)
мм.дд.гг или мм.гг.дд какое то извращение.

iap
И здесь говнокод детектед!

Вот люди пошли... А где аргументы?
16 окт 12, 22:26    [13329642]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Mr.nobody
Вот люди пошли... А где аргументы?

вам лутше их не слышать

Mr.nobody
Формат datatime - из запроса определить я думаю труда не составит.

из запроса видно что у вас там строка

Mr.nobody
Формат записи европейский дд.мм.гг, есть еще американский гг.мм.дд(В каком формате задавать условия в данный момент роли не играет так как будет подставляться автоматически)
мм.дд.гг или мм.гг.дд какое то извращение.

чтоб не было неожиданостей - советую все таки применят фор мат YYYYMMDD, а то можно сильно удивится по факту

в ORDER BY можно писать вот так

order by field1, field2 
16 окт 12, 22:32    [13329658]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Mr.nobody
iap
Какого типа MyInDateTime и MyOutDateTime?

Формат datatime - из запроса определить я думаю труда не составит.
iap
Кажется, 31-го месяца не бывает?

Формат записи европейский дд.мм.гг, есть еще американский гг.мм.дд(В каком формате задавать условия в данный момент роли не играет так как будет подставляться автоматически)
мм.дд.гг или мм.гг.дд какое то извращение.

iap
И здесь говнокод детектед!

Вот люди пошли... А где аргументы?
Ну выполните перед своим запросом
SET DATEFORMAT MDY;
и запустите запрос ещё раз!
16 окт 12, 22:38    [13329685]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текущей дате  [new]
Mr.nobody
Member

Откуда:
Сообщений: 19
iap
Ну выполните перед своим запросом
SET DATEFORMAT MDY;

и запустите запрос ещё раз!

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

Maxx
в ORDER BY можно писать вот так

order by field1, field2

Ну так сортировка либо от 1 числа, либо от 31
16 окт 12, 23:15    [13329824]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить