Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как обнулить время в переменной datetime не потеряв дату? / 7 сообщений из 7, страница 1 из 1
04.09.2001, 12:48
    #32013459
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
MSSQL2000
...
Рейтинг: 0 / 0
04.09.2001, 13:15
    #32013461
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
Например так

select convert(datetime, convert(char(10), getdate(), 120))
...
Рейтинг: 0 / 0
05.09.2001, 05:00
    #32013488
Osya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
SELECT DATEADD(dd,DATEDIFF(dd,'',getdate()),'')
...
Рейтинг: 0 / 0
05.09.2001, 05:30
    #32013492
George
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
select cast(cast(GetDate() as int) as datetime)
...
Рейтинг: 0 / 0
05.09.2001, 08:17
    #32013508
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
Последний вариант наиболее симпатичен.
Я правильно понимаю, что дата хранится в целой части числа, а время хранится в дробой? И таким образом просто отбрасывается дробная часть.
...
Рейтинг: 0 / 0
05.09.2001, 11:13
    #32013522
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
может и симпатичный, но неправильный

declare @d datetime
select @d='20010101 08:10'

select cast(cast(@d as int) as datetime)

select @d='20010101 18:10'

select cast(cast(@d as int) as datetime)
...
Рейтинг: 0 / 0
06.09.2001, 07:40
    #32013585
Виктор Б
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обнулить время в переменной datetime не потеряв дату?
Ну подумаешь - проблемы с округлением при конвертации типов...
Но идея то правильная: преобразуешь дату в вещественное число и от него берешь целую часть.
А потом от нее уже берешь дату.

select cast(floor(cast(getdate() as decimal(38,19))) as datetime)

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


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