|
Преобразование даты с SQL
|
|||
---|---|---|---|
#18+
Наверное простой вопрос, но я уперся. Данные хранятся на SQL сервере и выбираются оттуда с помощью View. Поле даты/времени нужно разбить отдельно на дату и на время. Все хорошо разбивается с помощью CONVERT или CAST, но дата почему-то приходит в текстовом виде, а это отрицательно сказывается на сортировке. Пробовал CONVERT(DATE,<Имя поля>) и CAST ( <Имя поля> AS DATE). Получается только если вообще не преобразовывать поле даты, а средствами Access отображати как "краткий формат даты", но при переводе фокуса на это поле "проявляется" время, что тоже плохо. Как сделать "красиво"? Access 2010, SQL 2014, View прилинковано как таблица. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 10:08 |
|
Преобразование даты с SQL
|
|||
---|---|---|---|
#18+
Ну нема в Access-е типа DATE. Только вместе со временем. Если тяга к прекрасному непреодолима, преобразуешь поле Format-ом в Access-е к текстовому и прекрасному виду. Для сортировки используешь исходное значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 13:11 |
|
Преобразование даты с SQL
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2017, 13:52 |
|
Преобразование даты с SQL
|
|||
---|---|---|---|
#18+
__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) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2017, 07:58 |
|
Преобразование даты с SQL
|
|||
---|---|---|---|
#18+
studieren2) 2 раза использовать CAST (или Convert), типа так: CAST(CAST(НекоеВыражение AS Date) AS Datetime) Большое спасибо! Этот вариант мне вполне подходит (переставлять драйвера у пользователей не возможности). Завтра попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2017, 11:36 |
|
|
start [/forum/topic.php?fid=45&fpage=77&tid=1612480]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 130ms |
0 / 0 |