|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagitмне надо так что бы и в запросе выходило Зачем ? Если для проверки - Вам уже показали, как проверить подобный запрос в SQL*Plus, чтобы увидеть время у дат, а не только знать, что оно там есть - используя to_char() и/или alter session set nls_date_format. Если этот запрос формирует данные отчёта в APEX, то без всяких to_char() выбирайте нужные даты, а их отображение настраивайте там, где я уже сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2010, 16:42 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLer Зачем ? Если для проверки - Вам уже показали, как проверить подобный запрос в SQL*Plus, чтобы увидеть время у дат, а не только знать, что оно там есть - используя to_char() и/или alter session set nls_date_format. Если этот запрос формирует данные отчёта в APEX, то без всяких to_char() выбирайте нужные даты, а их отображение настраивайте там, где я уже сказал. кажется я понял просто просматривать надо отчет в самом рапорте который находиться в приложении а запрос давать необязательно рапорт уже построен на основе запроса просто приложение пустить по локальной сети и кому надо пусть то и смотрит Только вот как рапорт этот на печать выдавать скажем в ms word , но уже др тема Спасибо огромное ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2010, 16:58 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Доброго времени суток помогите пожалуйста разобраться со скриптом По моей ржавой логике должно быть так проверяем поле n_open на промежуток от 8:00 до 20 :00 и делаем запрос на вывод данных затем проверяем это же поле на промежуток второй смены т.е. от 20 :00 до 8:00 и повторяем этот же запрос По логике временной промежуток должен указывать на 1 или 2 смену Пишу вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
ORA-06550: line 3, column 25: PLS-00103: Encountered the symbol "8:00" when expecting one of the following: . ( * @ % & - + / at mod remainder rem then and or || multiset The symbol "(" was substituted for "8:00" to continue. ORA-06550: line 3, column 57: PLS-00103: Encountered the symbol "20:00" when expecting one of the following: . ( ) , * @ % & - + / at mod remainder rem and or using || multiset как быть Помогите с запросом ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 13:14 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
APEX позволяет в источнике данных приложения указывать либо SQL-запрос, либо PL/SQL-блок, возвращающий строку с запросом. Раз Вы решили использовать второй вариант, то Вам не хватает слова RETURN перед соответствующими строками запросов. :) PS: Господа модераторы, ещё раз скажу - эта тема больше относится к подфоруму по APEX. ------------------------------------------------------- When I say "RTFM" or "STFF" or "STFW", the third letter means "Following" or "Fine"... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 16:12 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagit, кстати, одинарные кавычки в строке представляются двумя подряд. Пример: Код: plaintext
Модератор: Тема перенесена из форума "Oracle". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 16:35 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLerAPEX позволяет в источнике данных приложения указывать либо SQL-запрос, либо PL/SQL-блок, возвращающий строку с запросом. Раз Вы решили использовать второй вариант, то Вам не хватает слова RETURN перед соответствующими строками запросов. :) То есть написать вот так надо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 18:50 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
SagitsuPPLerAPEX позволяет в источнике данных приложения указывать либо SQL-запрос, либо PL/SQL-блок, возвращающий строку с запросом. Раз Вы решили использовать второй вариант, то Вам не хватает слова RETURN перед соответствующими строками запросов. :) То есть написать вот так надо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
прописал вот так тоже не работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 19:07 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
говорит Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. ORA-00900: invalid SQL statement ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2010, 19:09 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagitнет не работает прописал вот так тоже не работает Код: plaintext 1. 2. 3. 4.
0. У Вас есть банальные синтаксические ошибки. :) 1. PL/SQL-блок в Source отчёта всегда должен возвращать строку запроса. 2. Мне почему-то кажется, что Вам нужен просто SQL-запрос. :) Что-то вроде: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 18:54 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Спасибо поясните только пожалуйста , что означает 8/24 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 20:30 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagit, при добавлении выражения типа NUMBER к выражению типа DATE число неявно приводится к типу DAY TO SECOND INTERVAL, переводясь в дни. То есть, sysdate + 1 / 24 => sysdate + numtodsinterval(1 / 24, 'DAY') => текущая дата и время плюс один час. 8/24 = 8 часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 20:47 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLerSagit, при добавлении выражения типа NUMBER к выражению типа DATE число неявно приводится к типу DAY TO SECOND INTERVAL, переводясь в дни. То есть, sysdate + 1 / 24 => sysdate + numtodsinterval(1 / 24, 'DAY') => текущая дата и время плюс один час. 8/24 = 8 часов.Спасибо как я понял trunc(sysdate) + 1 + 8 / 24 означает 20 00, а trunc(sysdate) + 8 / 24 8 00 Верно я понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:08 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagitкак я понял trunc(sysdate) + 1 + 8 / 24 означает 20 00, ... Верно я понял? Нет. Это 8 часов утра (+ 8 / 24) следующего дня (+ 1). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:17 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLer Код: plaintext 1. 2. 3.
Я прописал вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:20 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagit, Вы так и не написали здесь, какие данные Вы хотите получить запросом. Пока что Ваш последний запрос выбирает все данные, когда :p3_n_open находится между 8 утра сегодня и 8 утра завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:29 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLerSagit, Вы так и не написали здесь, какие данные Вы хотите получить запросом. Пока что Ваш последний запрос выбирает все данные, когда :p3_n_open находится между 8 утра сегодня и 8 утра завтра. Мне надо так что бы выбирались данные между 8 утра сегодня до 8 вечера сегодня, а после того как наступят 8 вечера сегодня до 8 утра завтра ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:32 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
SagitМне надо так что бы выбирались данные между 8 утра сегодня до 8 вечера сегодня, а после того как наступят 8 вечера сегодня до 8 утра завтра Какое поле в таблице хранит время, чтобы по нему выбирать строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 21:50 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLer, в таблице времени нет так как я не смог сделать так что бы оно там тож было я настроил только в приложении, дал dd.mm.yyyy hh24ni в поле настройки поля dati а так выборка идет по полю dati ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 22:07 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagit, если Вы хотите выбрать данные за определённый промежуток времени, Вам нужно знать, к какому времени относится конкретная запись. Без столбца типа DATE или TIMESTAMP в таблице не обойтись. Это основы теории даже не знаю чего. :) Информации, наверно. Без места для данных - а следовательно, и самих данных - невозможно использовать критерий по этим данным для отбора информации. Нет поля с датой и временем появления записи - нет информации о дате и времени появления записи - нельзя накладывать условия на дату и время появления записи. Пересмотрите дизайн, добавьте соответствующее поле в таблицу и используйте его в запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 22:17 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLerSagit, если Вы хотите выбрать данные за определённый промежуток времени, Вам нужно знать, к какому времени относится конкретная запись. Без столбца типа DATE или TIMESTAMP в таблице не обойтись. Это основы теории даже не знаю чего. :) Информации, наверно. Без места для данных - а следовательно, и самих данных - невозможно использовать критерий по этим данным для отбора информации. Нет поля с датой и временем появления записи - нет информации о дате и времени появления записи - нельзя накладывать условия на дату и время появления записи. Пересмотрите дизайн, добавьте соответствующее поле в таблицу и используйте его в запросах.простите вы меня не поняли у меня поле dati типа date в самой таблице там время не указано а вот в приложении время показывает, а вот что хранит поле типа TIMESTAMP ? если время то как его заполнять? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 22:43 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagitпростите вы меня не поняли у меня поле dati типа date в самой таблице там время не указано а вот в приложении время показывает Вам ведь объясняли целую страницу, чем значение даты в таблице отличается от представления... Перечитайте, что ли. А Ваш запрос должен выглядеть приблизительно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Всё это можно собрать в CASE, который ещё непонятно как отразится на производительности, но тогда, боюсь, Вы потеряете нить беседы. Попробуйте разобрать условие, которое я написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2010, 23:01 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLer, спасибо огромное за поддержку Я разобрал тот скрипт который вы мне дали и вот что я понял из него стока (sysdate < trunc(sysdate) + 8/24 - контролирует врямя суток ло 8 00 утра стоки "N_OPEN" >= trunc(sysdate) - 4/24 and "N_OPEN" < trunc(sysdate) + 8/24) я не понял до сих пор для чего стоки (sysdate >= trunc(sysdate) + 8/24 and sysdate < trunc(sysdate) + 20/24 контролируют время в пределах 8 00 сегодня и 20 00 сегодня а стоки "N_OPEN" >= trunc(sysdate) + 8/24 and "N_OPEN" < trunc(sysdate) + 20/24) распределяют данные поля в указном промежутке времени строка (sysdate >= trunc(sysdate) + 20/24 контролирует время с 20 00 сегодня я думаю тут не хватает стоки (sysdate >= trunc(sysdate)+ 1 + 8/24, а строки "N_OPEN" >= trunc(sysdate) + 20/24 and "N_OPEN" < trunc(sysdate) + 1 + 8/24) распределяют данные поля в указном промежутке времени Я правильно понял или нет p.s. Посоветуйте какую нибудь книгу по oracle pl\sql для начинающих мне ужасно хочется научиться составлять такие процедуры и методы и легко ориентироваться в оракле и писать приложения под это наимощьнейшее СУБД (желательно книгу на русском языке) У меня тут есть одна Коннор МакДональд, Хаим Кац, Кристофер Бек, Джоел Кальман, Дэвид Нокс Oracle PL/SQL для профессионалов: практические решения но она слишком сложная пока для меня мне азы пока нужны если Вас не затруднит подскажите книгу для начинающего хотябы автора что бы не заказывать а скачать бесплатно можно было Еще раз огромное спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 20:57 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
Sagit, 0. Мы разбиваем возможное время на три интервала: до 8-ми утра сегодня, между 8-мью утра и вечера сегодня, после 8 вечера сегодня. В зависимости от того, в какой интервал попадает текущее время, выводим данные за смену 20:00 вчера-8:00, 8:00-20:00, 20:00-8:00 завтра. 1. По SQL вот хорошая книга: "Секреты Oracle SQL" от Мишры и Бьюли. По PL/SQL - "Oracle PL/SQL для профессионалов", Фейерштейн и Прибыл. По концепциям того, как и что работает - "Oracle для профессионалов", Том Кайт + собственно, Concepts . 2. Я бы Вам ещё рекомендовал что-нибудь по алгоритмам почитать. Вирт, Дейкстра, Сэджвик, Скиена... Д. Кнута советовать не буду, для него нужна масса времени, желания и знания высшей математики. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2010, 00:19 |
|
временной промежуток
|
|||
---|---|---|---|
#18+
suPPLerSagit, 0. Мы разбиваем возможное время на три интервала: до 8-ми утра сегодня, между 8-мью утра и вечера сегодня, после 8 вечера сегодня. В зависимости от того, в какой интервал попадает текущее время, выводим данные за смену 20:00 вчера-8:00, 8:00-20:00, 20:00-8:00 завтра. 1. По SQL вот хорошая книга: "Секреты Oracle SQL" от Мишры и Бьюли. По PL/SQL - "Oracle PL/SQL для профессионалов", Фейерштейн и Прибыл. По концепциям того, как и что работает - "Oracle для профессионалов", Том Кайт + собственно, Concepts . 2. Я бы Вам ещё рекомендовал что-нибудь по алгоритмам почитать. Вирт, Дейкстра, Сэджвик, Скиена... Д. Кнута советовать не буду, для него нужна масса времени, желания и знания высшей математики. :) Спасибо огромное уже скачал только что эти книги буду внимательно читать и практиковаться ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2010, 11:41 |
|
|
start [/forum/topic.php?fid=50&msg=36401756&tid=1877135]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 162ms |
0 / 0 |