Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Дата в запросах для Paradoxa   Найти похожие ветки 

 
Черный анархист ©   (2004-06-28 14:18) [0]

Буду благодарен за помощь в таком вопросе:
Мне нужно динамически сформировать запрос (SQL) для выборки по нескольким полям. Одно из полей имеет тип Date. Раньше я работал с Ораклом и потому сначала попробовал использовать

<имя поля> = TO_DATE ("<строковая переменная>","DD.MM.YYYY");

но в ответ услышал Capability not supported.
Использовать Params я не могу - запрос может быть любым от SELECT FROM до INSERT INTO (это определяеться програмой в рантайме и запрос переписывается полностью). Как мне решить данную задачку?


 
Sandman25 ©   (2004-06-28 14:27) [1]

Params можно заполнять/использовать и в run-time. Попобробнее о задаче можно?


 
Курдль ©   (2004-06-28 14:27) [2]

<имя поля> = "DD.MM.YYYY"


 
Черный анархист ©   (2004-06-28 14:35) [3]

to Курдль
Ну этобыло бы совсем просто - не работает


 
Johnmen ©   (2004-06-28 14:37) [4]

А дело в формате представления даты. Ты знаешь, какой он ? И я тоже. Поэтому см. Sandman25 ©   (28.06.04 14:27) [1]


 
Sandman25 ©   (2004-06-28 14:39) [5]

Есть один корявый способ без Params, правда.
Session.GetConfigParams и потом передавать строку в полученном формате. В BDE описывается занчения всех переменных


 
Черный анархист ©   (2004-06-28 14:42) [6]

to Sandman25
Конечно в принципе можно сделать так, что бы менять Params перед каждым изменением запроса, но очень часто в качестве параметра могут оказываться конструкции Format, конкатированные строки и прочая гадость. Вообщем, если над этим делом посидеть, то можно менять парамзы, но пропадает рациональность решения задачи. Моя интуиция подсказывает наличие более простого выхода.


 
Sandman25 ©   (2004-06-28 14:44) [7]

[6] Черный анархист ©   (28.06.04 14:42)

Кстати, а как Вы боретесь с возможным присутствием кавычек в строковых данных? ИМХО, лучше все же перейти на использование параметров. Наличие Format только поможет - заменяете своей функцией и заполняете Params содержимым второго параметра. По Variant можно легко определить требуемый TParam.DataType


 
Черный анархист ©   (2004-06-28 14:45) [8]


> Есть один корявый способ без Params, правда.
> Session.GetConfigParams и потом передавать строку в полученном
> формате. В BDE описывается занчения всех переменных


Кстати, звучит не так уже и коряво. Ща попробую, но я пытался передавать установленый у меня формат #dd/mm/yyyy# напрямую и... бесполезно. (Invalid token)


 
Черный анархист ©   (2004-06-28 14:45) [9]


> Кстати, а как Вы боретесь с возможным присутствием кавычек
> в строковых данных?

С кавычками борюсь - #39


 
Sandman25 ©   (2004-06-28 14:47) [10]

select * from mytable where mydate=cast("28.06.2004" as date)
пробовали?


 
Sandman25 ©   (2004-06-28 14:48) [11]

точнее 28/06/2004


 
Черный анархист ©   (2004-06-28 14:51) [12]


> select * from mytable where mydate=cast("28.06.2004" as
> date)
> пробовали?

нет, щас попробую. Если Вам не тяжело, расскажите про cast, а то мне его не доводилось ни разу использовать. Самое главное для каких типов данных он работает и кушает ли другие операции сравнения (!=, <, >).


 
Sandman25 ©   (2004-06-28 14:52) [13]

>Если Вам не тяжело, расскажите про cast

LocalSql.hlp :)


 
Черный анархист ©   (2004-06-28 14:53) [14]

to Sandman25
Ладно, спасибо. Не буду лениться. Буду читать хелп


 
Черный анархист ©   (2004-06-28 15:07) [15]

УРААААААААААААА!!!!!!!!!!
Заработало. Всем большое спасибо. В особенности Sandman25.



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.058 c
14-1088743781
MBo
2004-07-02 08:49
2004.07.25
Пятница - не сломай головы ;^)


3-1088575902
Explorer
2004-06-30 10:11
2004.07.25
работа через web


3-1088407512
axx
2004-06-28 11:25
2004.07.25
Приобразование типов в запросе. Синтаксис


9-1081803894
Werwolf
2004-04-13 01:04
2004.07.25
Люди кто знает .................


14-1089055759
_none_
2004-07-05 23:29
2004.07.25
кидалово!