Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access Date -> SQL DateTime / 8 сообщений из 8, страница 1 из 1
12.09.2002, 13:33
    #32050052
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Есть таблички из Access-97 с полем типа даты.
Как их правильно конвертировать в формат SQL Server, чтобы к ним добавилось (нулевое) время?
А то запросы по дате на Between включают и последнюю дату. Переделывать их неохота, так как во вновь созданных таблицах дата изначально имеет тип DateTime.
...
Рейтинг: 0 / 0
13.09.2002, 11:25
    #32050372
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
для обнуления времени нужно сделать обрезание дробной части числового значения даты

на sqlserv можно запустить запрос

Код: plaintext
update MyTable set MyDatetimeField = cast (MyDatetimeField as int )
...
Рейтинг: 0 / 0
13.09.2002, 14:29
    #32050435
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Спасибо за ответ, но мне нужна была как раз обратная операция ;-)
Пока я это дело обошел через опциональный параметр функции, при наличии которого от нее отнимается 1 день.
Но это не совсем хорошо :-(
...
Рейтинг: 0 / 0
13.09.2002, 15:04
    #32050443
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Может так?
function DateToSQL(d as Date) as string
DateToSQL="'" & format(d,"yyyymmdd") & "'"
end function
...
Рейтинг: 0 / 0
13.09.2002, 16:30
    #32050490
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Боюсь, меня неправильно поняли...
Я работаю с ADP, переделываю старую базу.
В новой базе дата, ессно, записывается в формате DateTime (с минутами, секундами...).
Вот такая процедурка отбирает записи по датам:
Код: plaintext
1.
2.
3.
4.
5.
Alter Procedure SafePlusPeriod @Dt1 DateTime, @Dt2 DateTime
As
set nocount on
SELECT PlusID, DateP, Rub, Dol, Eur, Rem, FromKass FROM tbSafePlus
WHERE DateP BETWEEN @Dt1 AND @Dt2
return

На ее основе строится форма, параметры берутся из функции, которая отдает дату в формате dd-mm-yy (на основе значения полей ввода)
Если выбирать данные из новых таблиц, данные за дату, введенную как @Dt2, туда не попадут, поскольку при передаче параметра процедуре туда будет подставлено нулевое время.
Но поскольку в старых таблицах дата записана без времени, данные за эту дату ПОПАДУТ в условия отбора, что совершенно ни к чему!
...
Рейтинг: 0 / 0
13.09.2002, 17:15
    #32050500
Владимир Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Я в подобной ситуации использую условие
Код: plaintext
WHERE DateP >=@Dt1 AND DateP < @Dt2
...
Рейтинг: 0 / 0
15.09.2002, 10:04
    #32050601
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Да дело-то не в этом!
В одних таблицах дата в старом формате, в других в новом. Приходится в одном случае передавать одну дату, в другом - другую (хоть через between, хоть через <>). А это - дополнительное время.
...
Рейтинг: 0 / 0
16.09.2002, 09:30
    #32050627
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access Date -> SQL DateTime
Я сделал очень просто:
rst!DateP = DateAdd("h", 10, rst!DateP)
(для тех полей, где само время не критично)
Ну и тому подобное для тех, где надо добавить конкретный час и минуту.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access Date -> SQL DateTime / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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