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

Откуда:
Сообщений: 12
Скажите пож-та начинающему, как в MS SQL Server вывести псоледовательно с 1 по 7 число из даты? ввсе время работал на Oracle, а теперь пришлось познакомиться с Server.
25 июл 11, 15:25    [11023514]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Nikitos2000
Member

Откуда:
Сообщений: 12
Пишу к примеру так,
[/SRC]select distinct case when len(cast(DAY(date) as varchar)) = 1 then '0' else '' end +cast(DAY(date) as varchar) date from pass_in_trip[SRC sql]
это что бы был формат 01,02 и т.п. но в самой базе нету например 3 числа, а мне нужно что бы оно фигурировало. как вот это сделать?
25 июл 11, 15:27    [11023531]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Nikitos2000, заведите таблицу с большим диапазоном дат или целых чисел и пользуйтесь ими. можно и master.dbo.spt_values использовать как источник целых
25 июл 11, 15:34    [11023574]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Nikitos2000
Member

Откуда:
Сообщений: 12
Shakill,
есть таблица уже на сервере с заданиями. Там вбиты даты. В задании просят для семи последовательных дней вывести бла бла бла..
вот что должно быть в ответе:
2003-04-01
2003-04-02
2003-04-03
2003-04-04
2003-04-05
2003-04-06
2003-04-07

В базе есть

2003-04-01
2003-04-02
2003-04-04
2003-04-05
2003-04-06
2003-04-07 .

Соответсвенно пропущено 3 число. Как ручками его внести в результирующий запрос?
25 июл 11, 15:38    [11023608]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Nikitos2000, так заведите таблицу для вообще всех дней на те года, которые покрывают ваши задачи
и берите оттуда даты, а к ним уже можно присоединять через outer join любые рабочие данные с дырками
25 июл 11, 15:43    [11023644]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Nikitos2000
Member

Откуда:
Сообщений: 12
Shakill,

Вы имеете ввиду что то типа этого?

 
with tab as (select ...)

если да, то не пройдет. у меян ограниченное использование данных и соответсвенно выборка для них. если что, это задания с сайта sql-ex. просто я не пойму как сделать список из последовательных чисел? может быть как то применить ROW_NUMBER? но...в общем не знаю=)
25 июл 11, 15:48    [11023691]     Ответить | Цитировать Сообщить модератору
 Re: Работа с датами  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Nikitos2000
просто я не пойму как сделать список из последовательных чисел?


вот, например
SELECT 10 * x.a + y.b
FROM
   (SELECT 0 a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
	  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 
	  UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) x
CROSS JOIN
   (SELECT 0 b UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 
	  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 
	  UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) y 
25 июл 11, 16:05    [11023809]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить