+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 5 su 5

Discussione: PostgreSql Operazione tra date

  1. #1
    ljt
    ljt non è in linea Scolaretto
    Post
    126

    PostgreSql Operazione tra date

    Salve,

    sto cercando di estrapolare da un database i valori compresi tra due orari con questa query:

    codice:
    select * from tabella_1
    where orario between to_date ('2018-06-18 17:00:00', 'yyyy/mm/dd HH24:mi:ss') and to_date ('2018-06-18 18:00:00', 'yyyy/mm/dd HH24:mi:ss')
    Non ottengo nessun errore, ma neanche nessun dato (e ci sono) in quanto, sembra, che l'orario non venga preso in considerazione.
    Se modifico il giorno in:
    codice:
    select * from tabella_1
    where orario between to_date ('2018-06-18 17:00:00', 'yyyy/mm/dd HH24:mi:ss') and to_date ('2018-06-19 18:00:00', 'yyyy/mm/dd HH24:mi:ss')
    Ottengo dei dati.
    Ho provato anche:
    codice:
    select * from Tabella_1
    where orario between to_timestamp ('2018-06-18 17:00:00', 'yyyy/mm/dd HH24:mi:ss') and to_timestamp ('2018-06-18 18:00:00', 'yyyy/mm/dd HH24:mi:ss')
    Come posso correggere la query per estrarre i dati tra due orari con la stessa data?

    La data è formato ISO, DMY.

    Grazie a tutti.

  2. #2
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    6,064

  3. #3
    ljt
    ljt non è in linea Scolaretto
    Post
    126
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Sei certo di usare la sintassi corretta?

    https://www.techonthenet.com/postgre...ns/to_date.php
    Assolutamente no, altrimenti i funzionerebbe. Comunque non ottengo errori di sintassi, dunque c'è qualcos'altro che non va.

  4. #4
    Ferrari_and non è in linea Scolaretto
    Post
    103
    Ciao prova a mettere il formato secondo lo standard che trovi nel link cioè in maiuscolo .

    'YYYY-MM-DD HH24:MI:SS'

    A volte il minuscolo e il maiuscolo possono fare la differenza.

  5. #5
    ljt
    ljt non è in linea Scolaretto
    Post
    126
    Ferrari_and, grazie per la risposta.
    Sono riuscito a trovare la soluzione:

    codice:
    select * from tabella_1
    where orario between ('2018-06-18 17:00:00') and ('2018-06-18 18:00:00')
    Il campo orario è timestamp dunque non c'è bisogno di altro.

    Grazie a tutti per l'aiuto.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi