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

А чем NULL не устраивает? Как раз NULL и будет являться признаком неопределенного значения, а не суррогат а-ля пустая строка. Иначе на клиенте придется вводить куда менее наглядные проверки на "пустоту".
...
Рейтинг: 0 / 0
12.02.2002, 13:31
    #32022754
3.14_d'or
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
A select cast(-1000 as datetime) вернет 1897-04-06 00:00:00.000
И что?
...
Рейтинг: 0 / 0
12.02.2002, 14:39
    #32022768
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
Идиоту с вполне подходящим ником (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
13.02.2002, 03:58
    #32022820
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
Юноши, не ругайтесь!
GreenSunrise, 3.14фагор не сказал Вам ничего обидного.
...
Рейтинг: 0 / 0
13.02.2002, 04:53
    #32022821
MadDog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti
2 Lohmatun:
В общем случае, там где значение ячейки неизвестно, лучше использовать NULL. Хотя, для значений "окончание срока", может быть, стоит использовать максимально возможную дату, например 31/12/9999 для datetime, тогда выражение вроде:
DateEnd is NULL or DateEnd > @Date
можно упростить
DateEnd > @Date
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли задать "пустое" (но не NULL) значение по умолчанию для поля типа dateti / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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