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

Откуда:
Сообщений: 316
Есть задача создать поле в таблице, которое обозначало бы диапазон дат, в формате 'yyyy-yyyy'.
18 июл 14, 20:09    [16327335]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
_human
Member

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

типа data ? :/
судя по всему имеется ввиду DATE.
'yyyy-yyyy' - это varchar.
как вы планируете его использовать ?
может просто хранить два поля INT ?
18 июл 14, 21:01    [16327474]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
_Novichok
Есть задача создать поле в таблице, которое обозначало бы диапазон дат, в формате 'yyyy-yyyy'.
Например, по образу и подобию
19 июл 14, 02:41    [16328728]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
Владислав Колосов
Member

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

используйте две колонки, а не одну.
21 июл 14, 12:29    [16334496]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Владислав Колосов
_Novichok,

используйте две колонки, а не одну.


Может вам лучше сделать INT в формате YY = Year1 * 10000 + Year2, а его можете накрыть вычисляемым полем CONCAT(YY / 10000, '-', YY % 10000) ?
21 июл 14, 13:04    [16334854]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
a_voronin
Владислав Колосов
_Novichok,

используйте две колонки, а не одну.


Может вам лучше сделать INT в формате YY = Year1 * 10000 + Year2, а его можете накрыть вычисляемым полем CONCAT(YY / 10000, '-', YY % 10000) ?

Цирк уехал, клоуны остались.
21 июл 14, 13:23    [16334996]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
_human
Member

Откуда:
Сообщений: 569
Ken@t
Цирк уехал, клоуны остались.

ну-ну.. а детальней ?
21 июл 14, 13:29    [16335052]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
_human
Ken@t
Цирк уехал, клоуны остались.

ну-ну.. а детальней ?


Ваше предложение, удобное и правильное, smallint лучше, возможно два SMALLDATETIME. Без плясок как на клиенте, так и на сервере. На сервере данная реализация нативно покроется и необходимыми индексами и математикой с датами.
21 июл 14, 13:48    [16335227]     Ответить | Цитировать Сообщить модератору
 Re: можно ли создать поле типа data с форматом 'yyyy-yyyy'  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Ken@t
_human
пропущено...

ну-ну.. а детальней ?


Ваше предложение, удобное и правильное, smallint лучше, возможно два SMALLDATETIME. Без плясок как на клиенте, так и на сервере. На сервере данная реализация нативно покроется и необходимыми индексами и математикой с датами.
Если речь идёт только о годах, то лучше всего два поля CHAR(4) с CHECK CONSTRAINT CHECK(FromYear LIKE'[0-9][0-9][0-9][1-9]').
По крайней мере это будет соответствовать 4-хцифровому стандартному представлению даты без разделителей.
Надо только поправить констрейнт, который я написал, для SMALLDATETIME и DATETIME
21 июл 14, 13:54    [16335282]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить