Squeak.ru - шаблоны программирования

Простая арифметика дат в Oracle APEX

То, что мне нужно сделать, на мой взгляд, невероятно просто. На самом деле настолько просто, что это, вероятно, очевидно, и поэтому я не могу найти ни одного места, в котором документировано, как это сделать.

Мне нужно просто взять значение элемента страницы выбора даты (: P1_DATE_1) и с помощью динамического действия установить значение второго элемента страницы выбора даты (: P1_DATE_2). Значение (:P1_DATE_2) должно быть на 2 года или 730 дней больше, чем значение (:P1_DATE_1). Итак, все, что мне нужно, это простое выражение «+730», верно?

У меня это работало с использованием sysdate в качестве даты начала этого расчета. Приведенное ниже выражение PL/SQL дало соответствующий результат:

    to_char(sysdate + 730,'dd-MON-rr') 

Но тогда я не мог заставить его перевести на принятие значения элемента страницы. У меня уже есть действия и все настроено, я просто не могу заставить его работать, когда пытаюсь заменить :P1_DATE_1 на sysdate. Я пробовал столько разных проявлений этого выражения, используя элемент страницы, но он не заполняет второй элемент страницы.

Извините за, возможно, глупый вопрос, но если кто-то может помочь, я был бы признателен. Спасибо!


  • если вы хотите ровно 2 года, то лучше to_char(add_months(sysdate,24),'dd-MON-rr') 07.12.2011
  • Это все хорошо, но я не хочу использовать sysdate. Я хочу использовать дату в P1_DATE_1 как дату изменения. Метод, который я опубликовал для sysdate, отлично работает 07.12.2011

Ответы:


1

@Justin Cave прав: все значения в элементах страницы обрабатываются как varchar2

Что касается вашего динамического действия, вот что я настроил: Регион:

items

Динамическое действие (дата 2 добавить):

динамическое действие

Истинное действие:

истинное действие

07.12.2011
  • Благодарю вас! Я думаю, что моя проблема все время была, вероятно, в том, что я просто не забыл отправить элемент страницы, прежде чем пытаться получить его значение... Спасибо! 07.12.2011

  • 2

    Вы получаете сообщение об ошибке? Если да, то какая ошибка? Поскольку элементы страницы в APEX всегда являются строками, вам необходимо преобразовать их в даты, прежде чем выполнять над ними арифметические операции с датами. Что-то вроде этого должно работать, если предположить, что P1_DATE_1 также находится в формате DD-MON-RR.

    to_char( add_months( to_date( :P1_DATE_1, 'DD-MON-RR' ),
                         24 ),
             'DD-MON-RR' )
    

    Если вы не получаете сообщение об ошибке, а второй элемент просто не используется по умолчанию, я предполагаю, что у вас проблема с порядком операций. Вы уверены, что первый элемент фактически имеет значение, отличное от NULL, когда запускается код инициализации для второго элемента? Если вы пытаетесь установить значение во втором элементе на основе значения, которое человек выбирает во время выполнения в первом средстве выбора даты, вам нужно либо отправить страницу, либо вам понадобится немного Javascript.

    07.12.2011
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...