Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизДата в запросах для 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c