sql >> Database teknologi >  >> RDS >> Oracle

sammenligne dato med et foruddefineret format pl sql

Nej det er ikke. Din dato udskrives i det format, der er angivet af din NLS_DATE_FORMAT . Jeg vil du vise hvis det er anderledes, så skift denne parameter for din session:

alter session set nls_date_format = 'dd-mm-yyyy'

Bemærk ordet visning . Det er alt dette gør. Det er alt, du bør overveje at gøre. Måden en dato vises på, påvirker på ingen måde måden, den er gemt på.

Mere normalt kan du bruge TO_CHAR() med en passende formatmodel til at vise en dato, dvs. to_char(my_date, 'dd-mm-yyyy') . Det vil ikke længere være en dato, men en karakter.

Det ser ikke ud til, at du vil vise en dato, som du har sagt. Du returnerer værdien fra din funktion, i hvilket tilfælde jeg ville holde fast i det, du har. Du behøver kun at transformere en dato til et passende format til visning, når du tager den ud af databasen, gem den altid som en dato i databasen. Det betyder igen, at det er ligegyldigt, hvordan det ser ud, når det er gemt i databasen, blot at det faktisk er en dato.




  1. HTTP Status 500 - java.lang.NoClassDefFoundError:java/time/temporal/TemporalField, når appen køres på OpenShift

  2. Forespørgsel i en Oracle-database med dynamiske tabelnavne

  3. CURRENT_DATE Eksempler – MySQL

  4. kan ikke angive måltabel for UPDATE i FROM-klausulen