Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Porównywanie dat za pomocą Dynamic Action w DatePicker Oracle Apex

Jak wspomina @ScottWe:próbujesz zastosować logikę PLSQL w HTML/javascript. „Kiedy – warunek” jest oceniany w czasie wykonywania i dlatego nie można tam używać PLSQL. Arytmetyka dat jest jednak nieco denerwująca w javascript, więc jeśli nie jesteś z nią zaznajomiony, oto sposób na wykonanie sprawdzenia (czyli data wpisana jutro, czy nie).

Biorąc pod uwagę moje wskazówki:
Różnica dat w JavaScript (ignorowanie pory dnia)
JavaScript, jak uzyskać jutrzejszą datę w formacie dd-mm-rr

Dodaj tę funkcję do sekcji JavaScript strony dla zmiennych i funkcji globalnych:

funkcja
function isTomorrow(pDateItem){  
  function getTomorrow(){ 
    var tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1);
    return tomorrow;
  };

  function cutTime(pDate){
    return new Date(pDate.getFullYear(), pDate.getMonth(), pDate.getDate());
  };

  // check if pDateItem leads to a selection
  // check if it is a datepicker
  // check if a date has been selected
  if ( $(pDateItem).length 
       && $(pDateItem).data("datepicker")
       && $(pDateItem).datepicker("getDate") !== null 
     ) 
  {        
    var tomorrow = getTomorrow();
    var check = $(pDateItem).datepicker("getDate");
    var one = cutTime(check);
    var two = cutTime(tomorrow);

    return one.getDate() === two.getDate();
  };
  return false;
}

Następnie w warunku akcji dynamicznej „Kiedy” użyj wyrażenia javascript z następującym kodem:

isTomorrow(this.triggeringElement)

Wtedy odpowiednie Prawdziwe działania zostaną uruchomione tylko wtedy, gdy data zostanie ustawiona na jutro.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd podczas używania pliku oracle.dataaccess.dll

  2. Jak używać parametrów w klauzuli „where value in...”?

  3. Zmień nazwę tabeli lub widoku Oracle

  4. Jak używać Oracle PL/SQL do tworzenia dziesięciu podobnych tabel z danej tabeli źródłowej Oracle?

  5. Jak usunąć wiele partycji interwałowych na podstawie daty?