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

Откуда:
Сообщений: 146
Подскажите, пожалуйста, если в моей таблице
mytab есть столбец mydate. его формат 2017-11-17
мне нужно его сократить до года т.е. просто 2017
year(mydate )

Как сделать чтобы все таблица обновилась? Чтобы там был только год.
20 авг 18, 16:38    [21648395]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Kontox
Как сделать чтобы все таблица обновилась? Чтобы там был только год.
Тип столбца какой?
20 авг 18, 16:41    [21648401]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Посетитель
Member

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

какой у поля mydate тип данных то?
20 авг 18, 16:41    [21648403]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Kontox
Member

Откуда:
Сообщений: 146
тип столбца datetime, мне нужен int
просто 2017 и всё
20 авг 18, 16:43    [21648408]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Kontox,

добавить новый, проставить
20 авг 18, 16:46    [21648411]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Посетитель
Member

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

как вариант, создайте новый столбец с типом инт да перегоните туда год
20 авг 18, 16:46    [21648412]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Kontox
Member

Откуда:
Сообщений: 146
А как мне это сделать?
20 авг 18, 16:52    [21648417]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Kontox
А как мне это сделать?

а может и не надо?
20 авг 18, 16:53    [21648418]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Kontox
Member

Откуда:
Сообщений: 146
надо ,иначе я не смогу проводить аналитику.
20 авг 18, 16:55    [21648419]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Kontox
надо ,иначе я не смогу проводить аналитику.

может и аналитику не надо?
20 авг 18, 16:55    [21648420]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36972
Kontox
А как мне это сделать?
Почитать хелп по командам alter table ... add .. и update.
20 авг 18, 16:58    [21648424]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2395
аналитика должна анализировать имеющиеся данные, а не менять их
20 авг 18, 17:06    [21648442]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
главное, что-бы потом два аналитика не подрались, одному год, второму день
20 авг 18, 17:11    [21648450]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
А потом будет вопрос, я аналитику провел, как мне даты вернуть, они же были?
20 авг 18, 17:30    [21648474]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Щукина Анна
Member

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

если вас "ломает" в запросе каждый раз преобразовывать дату к году - сделайте себе представление с нужной структурой и оставьте таблицу в покое...
20 авг 18, 17:34    [21648480]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Вот вам аналитика без нового столбца, или не вариант?
select year(mydate), count(*)
from dbo.Table1
where mydate >= '20170101' and mydate < '20180101'
group by year(mydate)
20 авг 18, 18:45    [21648577]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Гавриленко Сергей Алексеевич
Kontox
А как мне это сделать?
Почитать хелп по командам alter table ... add .. и update.
Можно без update - вычисляемое поле.
Но почему не использовать правильные ограничения на даты во время запроса?
20 авг 18, 18:50    [21648583]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Kontox
Member

Откуда:
Сообщений: 146
Я все-таки выбрал такое решение
ALTER TABLE mytab ADD CalendarYear int
GO


UPDATE mytab
SET CalendarYear = YEAR(mydate)
20 авг 18, 19:05    [21648593]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Посетитель
Member

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

Не забудьте обеспечить синхронизацию при инсертах/апдейтах
20 авг 18, 19:17    [21648608]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
msLex
Member

Откуда:
Сообщений: 8091
Посетитель
Kontox,

Не забудьте обеспечить синхронизацию при инсертах/апдейтах





Человек не знает с какой стороны к update подойти а вы ему про "синхронизацию при инсертах/апдейтах"
20 авг 18, 19:23    [21648617]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
msLex
Посетитель
Kontox,

Не забудьте обеспечить синхронизацию при инсертах/апдейтах





Человек не знает с какой стороны к update подойти а вы ему про "синхронизацию при инсертах/апдейтах"


Alter table же осилил. Значит, простых путей не ищет, но костыли соорудить в состоянии. Я просто намекаю, что надо к этим костылям соломки еще взять
20 авг 18, 19:47    [21648631]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Проблемы себе не придумывайте, если уж решили делать через столбец, то делайте через вычисляемый:

alter table mytab add CalendarYear as year(mydate)
20 авг 18, 20:52    [21648664]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
iiyama
Member

Откуда:
Сообщений: 642
2 all,

таблицу-календарь уже предлагали, а то вдруг статистика по дням недели или по праздничным и рабочим дням понадобится?
21 авг 18, 10:44    [21649068]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
iiyama
2 all,

таблицу-календарь уже предлагали, а то вдруг статистика по дням недели или по праздничным и рабочим дням понадобится?

здесь приличные люди аналитикой занимаются, а вы со своими рац. предложениями лезете :)
21 авг 18, 10:46    [21649071]     Ответить | Цитировать Сообщить модератору
 Re: update таблицы по дате  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Владимир Затуливетер
Проблемы себе не придумывайте, если уж решили делать через столбец, то делайте через вычисляемый:

alter table mytab add CalendarYear as year(mydate)
ИМХО проще сделать вьюху или вычисляемое поле.
21 авг 18, 13:40    [21649467]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить