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

Откуда:
Сообщений: 265
Подскажите можно в таблице получить полностью 2018 год?

Через какие функции можно это сделать?
12 дек 17, 17:04    [21028054]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
create table dbo.t (col nvarchar(100));
insert into dbo.tt values (N'полностью 2018 год');

select *
from dbo.t;
12 дек 17, 17:10    [21028095]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Остроумно :)

Вот такого формата

2017-04-01 00:00:00.000
2017-04-02 00:00:00.000
2017-04-03 00:00:00.000
2017-04-04 00:00:00.000
2017-04-05 00:00:00.000
2017-04-06 00:00:00.000
2017-04-07 00:00:00.000
2017-04-08 00:00:00.000
2017-04-09 00:00:00.000
2017-04-10 00:00:00.000
2017-04-11 00:00:00.000
2017-04-12 00:00:00.000
2017-04-13 00:00:00.000
2017-04-14 00:00:00.000
2017-04-15 00:00:00.000
2017-04-16 00:00:00.000
2017-04-17 00:00:00.000
2017-04-18 00:00:00.000
2017-04-19 00:00:00.000
2017-04-20 00:00:00.000
2017-04-21 00:00:00.000
2017-04-22 00:00:00.000
2017-04-23 00:00:00.000
2017-04-24 00:00:00.000
2017-04-25 00:00:00.000
2017-04-26 00:00:00.000
2017-04-27 00:00:00.000
2017-04-28 00:00:00.000
2017-04-29 00:00:00.000
2017-04-30 00:00:00.000
12 дек 17, 17:13    [21028113]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
iii2
Member

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

;With s as
	(Select Cast('20180101' as date) dt
		Union all
	 select DATEADD(day, 1, dt) dt from s
		Where s.dt <'20181231'
	)
Select * from s
Option (maxrecursion 0)
12 дек 17, 17:18    [21028131]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2730
это не год, а апрель.
к тому же 2017 года
что вы хотите?
12 дек 17, 17:18    [21028137]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
with cte as
(
select top (365) row_number() over(order by getdate()) - 1 as n
from sys.columns
)

select dateadd(day, n, '20180101')
from cte;
12 дек 17, 17:18    [21028139]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Спасибо большое :)
12 дек 17, 17:23    [21028179]     Ответить | Цитировать Сообщить модератору
 Re: Получения года  [new]
_human
Member

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

	declare @year int = 2018;
	declare @begin date = convert(date, concat(@year, '-01-01'))
	declare @end date = convert(date, concat(@year, '-12-31'))
	
	;with cte(n) as
		(select row_number() over(order by (select null)) - 1 from master..spt_values)
	
	select dateadd(day, n, @begin) from cte
	where n <= datediff(day, @begin, @end)
12 дек 17, 17:27    [21028195]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить