powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование даты с SQL
5 сообщений из 5, страница 1 из 1
Преобразование даты с SQL
    #39446700
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное простой вопрос, но я уперся. Данные хранятся на SQL сервере и выбираются оттуда с помощью View. Поле даты/времени нужно разбить отдельно на дату и на время. Все хорошо разбивается с помощью CONVERT или CAST, но дата почему-то приходит в текстовом виде, а это отрицательно сказывается на сортировке.
Пробовал CONVERT(DATE,<Имя поля>) и CAST ( <Имя поля> AS DATE).
Получается только если вообще не преобразовывать поле даты, а средствами Access отображати как "краткий формат даты", но при переводе фокуса на это поле "проявляется" время, что тоже плохо.
Как сделать "красиво"?
Access 2010, SQL 2014, View прилинковано как таблица.
...
Рейтинг: 0 / 0
Преобразование даты с SQL
    #39446729
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну нема в Access-е типа DATE. Только вместе со временем.

Если тяга к прекрасному непреодолима, преобразуешь поле Format-ом в Access-е к текстовому и прекрасному виду.
Для сортировки используешь исходное значение.
...
Рейтинг: 0 / 0
Преобразование даты с SQL
    #39446733
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2Ну нема в Access-е типа DATE. Только вместе со временем.В поле типа Дата/время (Date) может содержаться:
- только дата =Date()
- только время =Time()
- дата и время =Now()

Format Property - Date/Time Data Type
SettingDescriptionGeneral Date (Default) If the value is a date only no time is displayed; if the value is a time only no date is displayed. This setting is a combination of the Short Date and Long Time settings.
...
Рейтинг: 0 / 0
Преобразование даты с SQL
    #39446830
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michellealeks2Ну нема в Access-е типа DATE. Только вместе со временем.В поле типа Дата/время (Date) может содержаться:
- только дата =Date()
- только время =Time()
- дата и время =Now()

Format Property - Date/Time Data Type
SettingDescriptionGeneral Date (Default) If the value is a date only no time is displayed; if the value is a time only no date is displayed. This setting is a combination of the Short Date and Long Time settings.

По умолчанию действительно тип данных "DATE" SQL сервера Access не понимает. Скорее всего проблема в том, что старые драйверы ODBC (которые устанавливаются вместе с ОС) интерпретируют их не так как надо. В результате получается так как-будто текст, а не дата.
Что нужно для ТС? Я вижу как минимум 2 выхода:
1) установите "SQL Server Native Client XX" (вместо "XX" соответствующая версия сервера). Новые драйверы "правильно" понимают тип данных "date".
2) 2 раза использовать CAST (или Convert), типа так:
CAST(CAST(НекоеВыражение AS Date) AS Datetime)
...
Рейтинг: 0 / 0
Преобразование даты с SQL
    #39446865
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
studieren2) 2 раза использовать CAST (или Convert), типа так:
CAST(CAST(НекоеВыражение AS Date) AS Datetime)
Большое спасибо!
Этот вариант мне вполне подходит (переставлять драйвера у пользователей не возможности).
Завтра попробую.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование даты с SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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