возможно ли хранить дату и время в формате m - m / Y с помощью SQL Server

Мне нужно хранить данные в формате месяц-месяц/год в базе данных SQL Server. 01 - 12/2014 означает, например, период с января 2014 года по декабрь 2014 года. Должен ли я использовать тип данных varchar или это можно сделать с типом данных datetime?


person marcieng    schedule 26.08.2014    source источник
comment
Используйте два столбца и сохраните дату начала и окончания. Игнорируйте дневную часть, и вы будете золотыми.   -  person hd1    schedule 26.08.2014
comment
на самом деле это возможно, если вы злоупотребляете дневной частью столбца даты для хранения другого месяца. Дисклеймер, я бы никогда не использовал этот метод, искать его, читать, комментировать было бы ужасно. Если вы используете этот метод, не указывайте мое имя.   -  person t-clausen.dk    schedule 26.08.2014


Ответы (1)


Вы не можете сделать это с одним столбцом date в SQL Server. Я бы посоветовал вам сохранить это как два столбца date, например: BeginDate и EndDate. Это был бы лучший способ какое-то время использовать собственные типы SQL.

Если вам нужно сохранить это как varchar(), расположите поле в разумном порядке. Используйте формат, например: «ГГГГММ-ГГГГММ». Это позволяет легко анализировать каждый компонент и сортировать его по первому значению. Однако позвольте мне повторить мой первый совет: лучший способ сохранить диапазон времени — это использовать два столбца, один для даты начала, а другой — для даты окончания.

person Gordon Linoff    schedule 26.08.2014