powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / почему номер недели 53 хотя указал ISO_WEEK
9 сообщений из 9, страница 1 из 1
почему номер недели 53 хотя указал ISO_WEEK
    #39853745
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему номер недели 53 хотя указал ISO_WEEK?


Код: sql
1.
2.
3.
4.
5.
set language russian;
SET DATEFIRST 1 ;
set dateformat 'ymd';

select DATEPART(ISO_WEEK, '20201231')



Результат 53, а до этой даты все нормально, что делать?
Microsoft SQL Server 2017 (RTM-CU15-OD) (KB4506633) - 14.0.3164.1 (X64)
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853751
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fochaпочему номер недели 53 хотя указал ISO_WEEK?

Наверное потому, что
https://docs.microsoft.com/ru-ru/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017 Наибольшее число недель в году может составлять 52 или 53.

Правила описаны, можете вручную пересчитать:
Каждая неделя приписывается тому году, в котором находится ее четверг.
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853755
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
select DATEPART(WEEK, '20121231') [2012],  DATEPART(WEEK, '20201231') [2020]
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853789
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One
Код: sql
1.
select DATEPART(WEEK, '20121231') [2012],  DATEPART(WEEK, '20201231') [2020]


да, я говорю про стандарт iso
Код: sql
1.
2.
3.
4.
5.
select 
 DATEPART(ISO_WEEK, '20121231') [2012] -- 1
,DATEPART(ISO_WEEK, '20201231') [2020] -- 53
,DATEPART(WEEK, '20121231') [2012] -- 54 ???? такой недели нет
,DATEPART(WEEK, '20201231') [2020] -- 53 если в 2012 ISO_WEEK посчитал правильно, то в 2020 53
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853796
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaKonst_One
Код: sql
1.
select DATEPART(WEEK, '20121231') [2012],  DATEPART(WEEK, '20201231') [2020]



да, я говорю про стандарт iso
Код: sql
1.
2.
3.
4.
5.
select 
 DATEPART(ISO_WEEK, '20121231') [2012] -- 1
,DATEPART(ISO_WEEK, '20201231') [2020] -- 53
,DATEPART(WEEK, '20121231') [2012] -- 54 ???? такой недели нет
,DATEPART(WEEK, '20201231') [2020] -- 53 если в 2012 ISO_WEEK посчитал правильно, то в 2020 53



так что у вас со стандартом то не бьется?
по стандарту первой неделей считается неделя, содержащая первый четверг в году.
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853799
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853811
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853814
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Focha,

А вы понимаете, что такое неделя ISO? Что первая неделя ISO может начинаться в предыдущем году, а последняя уходить в следующий год.
...
Рейтинг: 0 / 0
почему номер недели 53 хотя указал ISO_WEEK
    #39853816
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninFocha,

А вы понимаете, что такое неделя ISO? Что первая неделя ISO может начинаться в предыдущем году, а последняя уходить в следующий год.

да
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / почему номер недели 53 хотя указал ISO_WEEK
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]