DTOC — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→AdsSetEpoch) |
Hisava (обсуждение | вклад) м (→Примеры) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | DTOC - это функция | + | [[DTOC]] - это функция |
− | + | Преобразование даты в строку символов в формате дд.мм.гг | |
− | Преобразование даты в строку символов в формате дд | + | = Примеры = |
− | + | [[DTOC]]( [[DATE]](), true ) | |
− | = | + | [[Файл:2018-05-23 14-55-02.png]] |
− | + | [[DTOC]]( [[DATE]]() ) | |
− | + | ||
− | + | ||
[[Файл:22-08-2016 13-32-48.png]] | [[Файл:22-08-2016 13-32-48.png]] | ||
= AdsSetEpoch = | = AdsSetEpoch = | ||
− | + | В случае использования функции [[DTOC]] в SQL запросах могут быть проблемы | |
− | В случае использования функции DTOC в SQL запросах могут быть | + | |
Например, запрос | Например, запрос | ||
− | |||
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.17' | SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.17' | ||
− | |||
воспринимается ADS-сом как | воспринимается ADS-сом как | ||
− | |||
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.1917' | SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.1917' | ||
− | |||
что не может не радовать | что не может не радовать | ||
Строка 28: | Строка 21: | ||
Далее в OpenData.pas написано | Далее в OpenData.pas написано | ||
− | |||
Ace.AdsSetEpoch( D_EPOCH ); | Ace.AdsSetEpoch( D_EPOCH ); | ||
+ | '''ACE''' в свою очередь это Advantage Client Engine ( ace.pas ) | ||
= Смотрите также = | = Смотрите также = | ||
+ | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] | ||
− | |||
− |
Текущая версия на 14:55, 23 мая 2018
DTOC - это функция
Преобразование даты в строку символов в формате дд.мм.гг
Примеры
DTOC( DATE(), true )
DTOC( DATE() )
AdsSetEpoch
В случае использования функции DTOC в SQL запросах могут быть проблемы
Например, запрос
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.17'
воспринимается ADS-сом как
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.1917'
что не может не радовать
Для изменения эпохи надо в файле UserType.pas установить переменную D_EPOCH
В приведенном примере переменная была равна 1917, в настоящее время она равна 1930
Далее в OpenData.pas написано
Ace.AdsSetEpoch( D_EPOCH );
ACE в свою очередь это Advantage Client Engine ( ace.pas )