Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Date или datetime? / 19 сообщений из 19, страница 1 из 1
03.02.2020, 16:25
    #39921895
edward_sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Добрый вечер коллеги!
Возник чисто практический вопрос вынесенный в тему топика.
Для моей работы в БД достаточно иметь поле date (дата приема на работу и дата увольнения).
Возникает резонное желание использовать поле типа date.
Работа с БД будет вестись из стороннего приложения.
Есть ли подводные камни в использовании типа date вместо datetime?
...
Рейтинг: 0 / 0
03.02.2020, 16:29
    #39921898
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_sh,

минут не будет
...
Рейтинг: 0 / 0
03.02.2020, 17:41
    #39921939
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
TaPaK
edward_sh,

минут не будет
Это для datetime будет проблема - могут показываться минуты, отдел кадров будет возмущаться :-)
...
Рейтинг: 0 / 0
03.02.2020, 18:06
    #39921947
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_sh,

для типа DATE нужен NativeClient, виндовый ODBC вроде бы не поддерживает этот тип. Там то ли конвертация произойдет, то ли отказ, уже не помню.
...
Рейтинг: 0 / 0
03.02.2020, 22:21
    #39922066
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Если "стороннее приложение" будет нормально работать с date вместо datetime, то почему бы и нет.
...
Рейтинг: 0 / 0
04.02.2020, 03:57
    #39922100
edward_sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Владислав Колосов
edward_sh,

для типа DATE нужен NativeClient, виндовый ODBC вроде бы не поддерживает этот тип. Там то ли конвертация произойдет, то ли отказ, уже не помню.


Добрый день!
Вот примерно про такие подводные камни я и спрашивал.
Потом сиди и гадай, почему программа не работает...
Спасибо!
Может еще что-нибудь всплывет :)
...
Рейтинг: 0 / 0
04.02.2020, 10:49
    #39922159
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_sh
Добрый день!
Вот примерно про такие подводные камни я и спрашивал.
Потом сиди и гадай, почему программа не работает...
странно это слышать от разработчика
...
Рейтинг: 0 / 0
04.02.2020, 14:17
    #39922292
edward_sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
andreymx,
А у Вас как разработчика, сразу все программы пишутся идеально и все работает с полпинка?
И не бывает, что вроде все работает как должно, ан нет - где-то косяк...
И ладно, если Вы имеете доступ и к исходнику программы, и к SQL серверу и можете посмотреть,
что уходит из программы, что доходит до сервера и чем он на это все отвечает.
Владислав Колосов привел такой пример, о котором я не знал...
...
Рейтинг: 0 / 0
04.02.2020, 14:24
    #39922295
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Ну так если в каком-то конкретном ODBC драйвере конкретный косяк, так надо жаловаться его разработчику чтобы пофиксил. ODBC как интерфейс тип даты поддерживает без проблем.
...
Рейтинг: 0 / 0
04.02.2020, 16:34
    #39922381
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Какая разница какой тип на сервере, вопрос как приложение его обрабатывает. Возможно приложение работает только с датой, а возможно с датой и временем.
...
Рейтинг: 0 / 0
04.02.2020, 18:14
    #39922447
edward_sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Dimitry Sibiryakov,
Ага, ну пожалуйтесь в Микрософт на их косяки :) и что они их не решают....

To Focha :
Приложение ДОЛЖНО обрабатывать типы данных, как на сервере задумано разработчиком.
Как будет добывать эти сведения разработчик приложения - его проблемы (ну пока и мои).
Я хочу создать пул ХР для программиста, далее его проблемы в разумных пределах, конечно.
Вопрос собственно говоря, сводился к тому, что стоит ли заморачиваться с использованием типа DATE в БД или же не выпендриваться и использовать тип DATETIME для универсальности?
...
Рейтинг: 0 / 0
04.02.2020, 18:22
    #39922454
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_shВопрос собственно говоря, сводился к тому, что стоит ли заморачиваться с использованием типа DATE в БД или же не выпендриваться и использовать тип DATETIME для универсальности?У богатых свои причуды - хранить 8 байт вместо 3.
...
Рейтинг: 0 / 0
04.02.2020, 18:28
    #39922461
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
автор использовать тип DATETIME для универсальности?
та чё уж так, опытные универсальщики сибят в sql_variant
...
Рейтинг: 0 / 0
04.02.2020, 18:53
    #39922470
edward_sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
TaPaK
автор использовать тип DATETIME для универсальности?

та чё уж так, опытные универсальщики сибят в sql_variant
:) Согласен!
...
Рейтинг: 0 / 0
04.02.2020, 19:41
    #39922487
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_sh
Я хочу создать пул ХР для программиста, далее его проблемы

Мне на форуме сказали делать так, далее твои проблемы..
...
Рейтинг: 0 / 0
05.02.2020, 06:45
    #39922583
istrebitel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
Для примера Delphi, компоненты доступа к БД FireDAC.
Кидаем на форму DataSet FDQuery, прописываем запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
select
	convert(datetime, getdate()) datetime_type
	, convert(date, getdate()) date_type
	, convert(time, getdate()) time_type
	, convert(datetime2, getdate()) datetime2_type
	, convert(datetimeoffset, getdate()) datetimeoffset_type
	, convert(smalldatetime, getdate()) smalldatetime_type


Без NativeClient (просто чистая Win7)
fieldname datatype classnamedatetime_type ftTimeStamp TSQLTimeStampFielddate_type ftWideString TWideStringFieldtime_type ftWideString TWideStringFielddatetime2_type ftWideString TWideStringFielddatetimeoffset_type ftWideString TWideStringFieldsmalldatetime_type ftTimeStamp TSQLTimeStampField
С NativeClient
fieldname datatype classnamedatetime_type ftTimeStamp TSQLTimeStampFielddate_type ftDate TDateFieldtime_type ftTime TTimeFielddatetime2_type ftTimeStamp TSQLTimeStampFielddatetimeoffset_type ftTimeStamp TSQLTimeStampFieldsmalldatetime_type ftTimeStamp TSQLTimeStampField
Соответственно если мы в дизайне добавим поля, при запуске в другой среде будет ошибка.
...
Рейтинг: 0 / 0
05.02.2020, 09:14
    #39922612
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
edward_sh

To Focha :
Приложение ДОЛЖНО обрабатывать типы данных, как на сервере задумано разработчиком.
Как будет добывать эти сведения разработчик приложения - его проблемы (ну пока и мои).
Я хочу создать пул ХР для программиста, далее его проблемы в разумных пределах, конечно.
Вопрос собственно говоря, сводился к тому, что стоит ли заморачиваться с использованием типа DATE в БД или же не выпендриваться и использовать тип DATETIME для универсальности?


Приложение вам ничего не ДОЛЖНО, так как разработка ПО и разработка Базы это разные люди, отвечая на ваш вопрос, я бы использовал DATE, если был бы уверен на 100%, не на 99%, а именно на 100%, что приложение без ошибок обработает данный тип и время не нужно будет выводить. Никакие расчеты в точности до минуты не нужны.

А вообще я бы задал Вам другой вопрос.

Почему вы хотите именно Date использовать, нет времени?
DT я использую если нужно работать еще со временем, а в остальных случаях я использую Date, так как мне не важно время, а как мы знаем:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @t table (dt datetime)

insert into @t values(getdate())

-- пусто
select * 
from @t
where dt = convert(date,getdate()) -- ничего не вернет, date-->datetime всегда будет YYYYMMDD 00:00:00 

-- не пусто
select * 
from @t
where convert(date,dt) = convert(date,getdate())



И зачем так, проще сделать Date?
...
Рейтинг: 0 / 0
05.02.2020, 09:59
    #39922630
rebel25
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
В моём кадрово-зарплатном приложении все даты хранятся только в datetime.
Когда то создавал таблицы с полями date и возникли проблемы в приложении, уже не помню какие.
...
Рейтинг: 0 / 0
05.02.2020, 10:24
    #39922659
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Date или datetime?
TaPaK
автор использовать тип DATETIME для универсальности?

та чё уж так, опытные универсальщики сибят в sql_variant

sql_variant - это мутная хрень ? извините за простоту формулировки
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Date или datetime? / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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