Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 ADO: опять про формат даты/времени  [new]
Унрегистеред
Guest
Известно что в ADO для запросов INSERT и UPDATE используется различный формат литералов даты/времени (в зависиммости от провайдера)
Не встречал ли кто-то сводную таблицу форматов для различных провайдеров, в которой указывалось бы следующее:
1) Формат по умолчанию, те DD.MM.YYYY, M/D/Y и т.д.
2) Принимает ли формат ISO т.е. YYYY-MM-DD
3) Символ-ограничитель, т.е. одинарные/двойные кавычки, {...}, #...# и т.д.
4) Другие особенности, напр. явное указание фунции преобразования вроде GetDate('MM/DD/YYYY') и т.д.

Если у кого-то есть такая сводка, выложите плз для общего сведения.
5 апр 10, 13:12    [8579310]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895
Параметры рулят вне зависимости от провайдера.
5 апр 10, 13:15    [8579340]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54840

ADO - отстой вне зависимости от провайдера. Компоненты прямого доступа
рулят!

Posted via ActualForum NNTP Server 1.4

5 апр 10, 13:21    [8579397]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
Унрегистеред
Guest
Параметры и компоненты - это понятно. Но сводную таблицу по ADO все равно хочу
5 апр 10, 15:50    [8580773]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
f2f
Guest
А ODBCишный синтаксис разве не работает?
Чтото типа {t xxx }
Он должен быть универсальным
6 апр 10, 13:39    [8585662]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
Унрегистеред
Guest
Нет, не везде. Даже для Jet4 в общем случае не работает.
6 апр 10, 22:17    [8589092]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
SergINI
Member

Откуда: Нью-Васюки
Сообщений: 6787
Такой таблицы нет и не будет. Все базы данных используют разные форматы с учётом региональных настроек. Соответственно и разные провайдеры по-разному работают с этими форматами.
7 апр 10, 12:33    [8591447]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
Унрегистеред
Guest
Тоже нет. Возьмем MsSql - независимо от локали по умолчанию 'MM/DD/YY' или 'MM/DD/YYYY' или 'MMDDYYYY' в одинарных кавычках, понимает ISO. Совершенно аналогично для VFP, но в фигурных скобках.
Access берет локаль, но понимает YYYYDDMM, старый Access в каких-то случаях требует CDate('...')

Так что такая таблица очень даже может быть и где-нибудь в сети обязательно есть
7 апр 10, 14:33    [8592708]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
SergINI
Member

Откуда: Нью-Васюки
Сообщений: 6787
Унрегистеред
Тоже нет. Возьмем MsSql - независимо от локали по умолчанию 'MM/DD/YY' или 'MM/DD/YYYY' или 'MMDDYYYY'

Что-то не совсем сходится то что Вы написали с FAQ:
https://www.sql.ru/faq/faq_topic.aspx?fid=109
Унрегистеред
Тоже нет. Возьмем MsSql - независимо от локали по умолчанию 'MM/DD/YY' или 'MM/DD/YYYY' или 'MMDDYYYY'


Унрегистеред
Access берет локаль, но понимает YYYYDDMM, старый Access в каких-то случаях требует CDate('...')

Если всё так гладко, то зачем я пользовался для этих целей функцией BuildCriteria, чтобы работало на всех машинах, независимо от региональных настроек.
Унрегистеред
Так что такая таблица очень даже может быть и где-нибудь в сети обязательно есть

Найдёте, не забудьте поделиться :)
7 апр 10, 14:52    [8592919]     Ответить | Цитировать Сообщить модератору
 Re: ADO: опять про формат даты/времени  [new]
Унрегистеред
Guest
SergINI в FAQ писал не я. Но действительно, прошу прощения. Конечно, YYYYMMDD в MsSql
C Access'ом проверю при разных настройках
7 апр 10, 17:02    [8594044]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить