Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.48 MB
Время: 0.037 c
11-1077864777
ALeX.B.
2004-02-27 09:52
2004.07.25
ICMP из ICS реально дольше работает чем ICMP из INDY(не KOL)!


6-1084517077
Dennisius
2004-05-14 10:44
2004.07.25
Копирование из Webbrowser


1-1089265858
Term
2004-07-08 09:50
2004.07.25
Посоветуйте компонент


3-1088139310
nik7777
2004-06-25 08:55
2004.07.25
Репликация между серверами FireBird 1.0.2


1-1088730903
Xerx
2004-07-02 05:15
2004.07.25
Иконки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский