![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
какие необходимо сделать настойки [D5, Oracle]
sergey32 © (2002-09-11 15:25:00)чтобы в запрос передавать дату в виде числа?
sergey32 (2002-09-16 11:54:00) [1]на работающих и на неработающих машинах праметры в
таблице nls_session_parameters одинаковые
sergey32 (2002-09-12 16:43:00) [2]и еще одно:
некоторые клиентские машины не понимают Ораклового
типа pls_integer в хранимых процедурах.
Могут ли эти параметры влиять на тип pls_integer?
Val (2002-09-12 12:43:00) [3]надо сравнить, как оределены параметры на машинах, где все в порядке и там, где лезут ошибки.
sergey32 (2002-09-12 12:34:00) [4]в nls_session_parameters
nls_date_format=DD.MM.YY
в nls_database_parameters
nls_date_format=DD-MON-YY
в nls_instance_parameters
nls_date_format= не определен
Val (2002-09-12 11:45:00) [5]>Black Cat © (12.09.02 11:42)
:) к нему самому.
Val (2002-09-12 11:44:00) [6]>sergey32 © (12.09.02 10:19)
возможно дело в nls параметрах сессий.
выполните на машинах
select * from nls_session_parameters
и сравните параметры дат, чисел ..
Black Cat (2002-09-12 11:42:00) [7]
> Val © (12.09.02 11:29)
Ок, в таком случае я думаю, мы пришли к консенсусу ;-)
Val (2002-09-12 11:29:00) [8]>Black Cat © (12.09.02 11:22)
Я не говорил, что это поможет автору вопроса и обращался именно к вам. Думаю, приведенная мной информация не будет лишней в знаниях уважаемых коллег.
Black Cat (2002-09-12 11:22:00) [9]
> Val © (12.09.02 11:15)
Речь идет о том, как помочь автору исходного вопроса решить проблему. Использование функции to_date приведенным образом ни в коей мере ему не поможет. Еще раз: результат функции будет зависеть от текущей даты и все его запросы в результате полетят.
Val (2002-09-12 11:15:00) [10]>Black Cat © (12.09.02 11:03)
Про 100% вы можете забыть..<i/>
ну знаете, любая функция не будет работать, если туда передавать некорректные параметры.
Как-то абсолютно непохоже..<i/>
На входе число, на выходе дата, правда? Так что это противоречит вашему утверждению выше в принципе, на что я и указал. О конкретике речь не идет, не правда ли?
Black Cat (2002-09-12 11:08:00) [11]Более того, результаты вызовов функций
to_date(12122002,"ddmmyyyy")
to_date(to_char(12122002),"ddmmyyyy")
абсолютно аналогичны (просто неявное пребразование типов)
Black Cat (2002-09-12 11:03:00) [12]
> >Black Cat © (12.09.02 09:58)
> вы опять не совсем правы, например на 100% работают запросы:
> с форматами "DD", "YY", "YYYY", "MM" и т.д.
Ну, это из фирменной документации, так что это к Ораклу.
Про 100% вы можете забыть, такие запросы будут работать только когда число цифр точно совпадает с числом символа формата, а в результате получается дата, где недостающие элементы даты будут заменятся текущим годом, месяцем, первым числом месяца.
Как-то абсолютно непохоже на преобразование из Number в Date, не правда ли?
Val (2002-09-12 10:48:00) [13]>roottim (12.09.02 09:48)
я сам их написал и вру тут ;)
если серьезно - в 8.1.7 работает точно.
>Black Cat © (12.09.02 09:58)
вы опять не совсем правы, например на 100% работают запросы: с форматами "DD", "YY", "YYYY", "MM" и т.д.
sergey32 (2002-09-12 10:19:00) [14]задача такая: не меняя исходных текстов настроить
клиентскую машину, чтобы все это работало.
Black Cat (2002-09-12 09:58:00) [15]
> Val © (11.09.02 21:45)
Насколько мне известно, в 8 Оракуле такой номер прокатывает только для Юлианской даты для формата "J", типа
to_date(3456,"J")
Но это весьма частный случай.
"TO_DATE converts char of CHAR or VARCHAR2 datatype to a value of DATE datatype. The fmt is a date format specifying the format of char. If you omit fmt, char must be in the default date format. If fmt is "J", for Julian, then char must be an integer."
roottim (2002-09-12 09:48:00) [16]2Val © (11.09.02 21:45)
интересно откуда такие функции появились
в релиз2 9и ?
2sergey32 © (11.09.02 17:11) select * from auto_date where begin_date>trunc(:Begin_Date)
типы нужно приводить к одному!. если сравниваеш даты то так и пиши
а если trunc (число) то соотв-но приводи к числу и 2-ю часть неравенства
select * from auto_date where trunc(begin_date)>trunc(:Begin_Date)
про винды незнаю, но всеже посмотри в настройка разделитель дробной части (.)
насчет остальных причин трудно сказать... кто делает прекомпиляцию запроса? мб, где-то на среднем уровне такая типология непроходит
Val (2002-09-11 21:45:00) [17]>Black Cat © (11.09.02 15:54)
это не совсем верно:
function TO_DATE(num NUMBER, fmt VARCHAR) return DATE;
function TO_DATE(num NUMBER, fmt VARCHAR, nlsparams VARCHAR2) return DATE;
sergey32 (2002-09-11 18:28:00) [18]если я правильно понял, то в Оракле тоже есть функция
trunc, значит клиентское приложение вместо того, чтобы
выполнять Оракловый trunc, начинает выполнять Дельфи trunc.
или наоборот.
sergey32 (2002-09-11 18:05:00) [19]а как в региональных настройках поставить формат даты в виде числа?
Johnmen (2002-09-11 18:01:00) [20]>sergey32 © (11.09.02 17:55)
>А где в Оракле меняются настройки форматов?
Сходу не вспомню...Пора убегать...
Если есть доки - см.туда !