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

Если тяга к прекрасному непреодолима, преобразуешь поле Format-ом в Access-е к текстовому и прекрасному виду.
Для сортировки используешь исходное значение.
...
Рейтинг: 0 / 0
30.04.2017, 13:52
    #39446733
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование даты с SQL
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
01.05.2017, 07:58
    #39446830
studieren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование даты с SQL
__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
01.05.2017, 11:36
    #39446865
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование даты с SQL
studieren2) 2 раза использовать CAST (или Convert), типа так:
CAST(CAST(НекоеВыражение AS Date) AS Datetime)
Большое спасибо!
Этот вариант мне вполне подходит (переставлять драйвера у пользователей не возможности).
Завтра попробую.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование даты с SQL / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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