Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как отобрать год у даты? / 23 сообщений из 23, страница 1 из 1
14.03.2018, 11:42
    #39614636
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
Здравствуйте.
Не могу создать фильтр. Необходимо задать с начала года до текущего момента
Код: sql
1.
where cast([DRILLINGDATE] as date) between '01-jun-2017' and '20-feb-2017'


только дело в том что это не всегда первое января 2017 года, если сегодня - это 14 марта 2018 года, то начало года должно быть 01-jun-2018
Как мне придумать фильтр, чтобы год подставлялся в зависимости от второй даты в фильтре. Какой там год, такой и в начале года
...
Рейтинг: 0 / 0
14.03.2018, 11:46
    #39614639
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444,

у вас год с июня?

Код: sql
1.
DATEADD(year,YEAR(GETDATE())-1900,0)
...
Рейтинг: 0 / 0
14.03.2018, 12:33
    #39614676
assmsk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
where year(cast([DRILLINGDATE] as date)) = year(getdate())
...
Рейтинг: 0 / 0
14.03.2018, 12:42
    #39614684
как отобрать год у даты?
katish444,

авторbetween '01-jun-2017' and '20-feb-2017'
проблематичненько будет что-нибудь найти
авторесли сегодня - это 14 марта 2018 года, то начало года должно быть 01-jun-2018
Аналогично. С ИЮНЯ 2018 по МАРТ 2018 прошло не так много времени .
...
Рейтинг: 0 / 0
14.03.2018, 13:16
    #39614710
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
только дело в томkatish444,

авторbetween '01-jun-2017' and '20-feb-2017'
проблематичненько будет что-нибудь найти
авторесли сегодня - это 14 марта 2018 года, то начало года должно быть 01-jun-2018
Аналогично. С ИЮНЯ 2018 по МАРТ 2018 прошло не так много времени .

я описалась, простите jan хотела напечатать
...
Рейтинг: 0 / 0
14.03.2018, 13:17
    #39614712
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaKkatish444,

у вас год с июня?

Код: sql
1.
DATEADD(year,YEAR(GETDATE())-1900,0)



я описалась, простите January хотела напечатать
...
Рейтинг: 0 / 0
14.03.2018, 13:19
    #39614714
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
assmskwhere year(cast([DRILLINGDATE] as date)) = year(getdate())
а как вторую часть фильра указать? У меня же between
Код: sql
1.
where cast([DRILLINGDATE] as date) between '01-jan-2017' and '20-feb-2017'
...
Рейтинг: 0 / 0
14.03.2018, 13:21
    #39614715
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444TaPaKkatish444,

у вас год с июня?

Код: sql
1.
DATEADD(year,YEAR(GETDATE())-1900,0)



я описалась
ну бывает
...
Рейтинг: 0 / 0
14.03.2018, 13:22
    #39614716
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
только дело в том,
хватит издеваться))))) опечатка случайная, суть-то не поменялась
...
Рейтинг: 0 / 0
14.03.2018, 13:24
    #39614719
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaK,
Код: sql
1.
where cast([senddate] as date) between DATEADD(year,YEAR(GETDATE())-1900,0) and '20-feb-2017'


это не работает
Я не верно написала?
...
Рейтинг: 0 / 0
14.03.2018, 13:26
    #39614720
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444только дело в том,
хватит издеваться))))) опечатка случайная, суть-то не поменялась
это смотря как ударение в слове посавить :)


авторwhere cast([senddate] as date) between DATEADD(year,YEAR(GETDATE())-1900,0) and '20-feb-2017'
ну естественно сейчас то 2018, вместо GETDATE() подставье вашу дату
...
Рейтинг: 0 / 0
14.03.2018, 13:31
    #39614727
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaK,
она же у меня в формате '20-feb-2017', а когда я использую cast внутри getdate, подчеркивает красным...
...
Рейтинг: 0 / 0
14.03.2018, 13:33
    #39614729
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444TaPaK,
она же у меня в формате '20-feb-2017', а когда я использую cast внутри getdate, подчеркивает красным...
описались серъёзно....
CAST('20-feb-2017' as date) какой ещё внутри getdate
...
Рейтинг: 0 / 0
14.03.2018, 13:36
    #39614732
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaKkatish444TaPaK,
она же у меня в формате '20-feb-2017', а когда я использую cast внутри getdate, подчеркивает красным...
описались серъёзно....
CAST('20-feb-2017' as date) какой ещё внутри getdate
вот
...
Рейтинг: 0 / 0
14.03.2018, 13:41
    #39614736
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444,

и зачем вы так делаете?
...
Рейтинг: 0 / 0
14.03.2018, 13:42
    #39614737
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaKkatish444,

и зачем вы так делаете?

потому что не знаю как надо
...
Рейтинг: 0 / 0
14.03.2018, 13:43
    #39614738
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444,

Код: sql
1.
where cast([senddate] as date) between DATEADD(year,YEAR(CAST('20-feb-2017' as date))-1900,0) and '20-feb-2017'
...
Рейтинг: 0 / 0
14.03.2018, 13:54
    #39614747
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
[/SRC][/quote]
Код: sql
1.
2.
3.
DECLARE @D DATE='20170220';
SELECT ... FROM ...
WHERE CAST([senddate] AS DATE) BETWEEN STR(YEAR(@D)) AND @D;
...
Рейтинг: 0 / 0
14.03.2018, 13:56
    #39614751
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
Код: sql
1.
2.
3.
DECLARE @D DATETIME='20170220';
SELECT ... FROM ...
WHERE [senddate]>=STR(YEAR(@D)) AND [senddate]<DATEADD(DAY,1,@D);
...
Рейтинг: 0 / 0
14.03.2018, 14:15
    #39614760
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
спасибо всем большое
...
Рейтинг: 0 / 0
14.03.2018, 14:26
    #39614771
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaKkatish444,

Код: sql
1.
where cast([senddate] as date) between DATEADD(year,YEAR(CAST('20-feb-2017' as date))-1900,0) and '20-feb-2017'


подскажи, пожалуйста, почему у меня стал дублировать строку в таблице.
То есть когда просто даты, то выдает строку с цифрами, а когда использую твою строку, то выдает две одинаковые строки. Считает все правильно, цифры все верные
...
Рейтинг: 0 / 0
14.03.2018, 14:34
    #39614775
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
katish444TaPaKkatish444,

Код: sql
1.
where cast([senddate] as date) between DATEADD(year,YEAR(CAST('20-feb-2017' as date))-1900,0) and '20-feb-2017'


подскажи, пожалуйста, почему у меня стал дублировать строку в таблице.
То есть когда просто даты, то выдает строку с цифрами, а когда использую твою строку, то выдает две одинаковые строки. Считает все правильно, цифры все верные
это вы со своими данными разбирайтесь, предикат не генерирует новых записей
...
Рейтинг: 0 / 0
15.03.2018, 06:12
    #39615153
katish444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отобрать год у даты?
TaPaK, поняла, спасибо. Буду разбираться дальше
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как отобрать год у даты? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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