powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
6 сообщений из 6, страница 1 из 1
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022745
Lohmatun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для поля типа строки можно задать значение '' (пустая строка), которое тем не менее, не будет значением NULL
А можно ли как-то аналогично задать "пустое" значение для реквизита типа datetime, которое также не будет значением NULL?
Нужно ли вообще избегать значений NULL?
...
Рейтинг: 0 / 0
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022750
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Пустым" значением будет 1 января 1900. Получается оно например так:
select cast(0 as datetime) -- вернет 1900-01-01 00:00:00.000

А чем NULL не устраивает? Как раз NULL и будет являться признаком неопределенного значения, а не суррогат а-ля пустая строка. Иначе на клиенте придется вводить куда менее наглядные проверки на "пустоту".
...
Рейтинг: 0 / 0
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022754
3.14_d'or
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A select cast(-1000 as datetime) вернет 1897-04-06 00:00:00.000
И что?
...
Рейтинг: 0 / 0
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022768
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идиоту с вполне подходящим ником (3.14_d'or):

Values with the datetime data type are stored internally by Microsoft SQL Server as two 4-byte integers. The first 4 bytes store the number of days before or after the base date, January 1, 1900. The base date is the system reference date. Values for datetime earlier than January 1, 1753, are not permitted. The other 4 bytes store the time of day represented as the number of milliseconds after midnight.

base date, January 1, 1900 - в качестве базового значения устраивает? Если нет, ну используй -1000, кто ж тебе мешает...
...
Рейтинг: 0 / 0
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022820
Юноши, не ругайтесь!
GreenSunrise, 3.14фагор не сказал Вам ничего обидного.
...
Рейтинг: 0 / 0
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
    #32022821
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Lohmatun:
В общем случае, там где значение ячейки неизвестно, лучше использовать NULL. Хотя, для значений "окончание срока", может быть, стоит использовать максимально возможную дату, например 31/12/9999 для datetime, тогда выражение вроде:
DateEnd is NULL or DateEnd > @Date
можно упростить
DateEnd > @Date
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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