Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Ciao a tutti e grazie ancora una volta per le vostre risposte, se purtroppo non posso immettere solo l'orario nella tabella e ottenere e associare la data tramite delle funzione MySql dovrò trovare un "escamotage" per gli elementi che hanno timeOn maggiore rispetto timeOff.
    Ciao Grazie
    Valerio

  2. #12
    Quote Originariamente inviata da valemix89 Visualizza il messaggio
    Ciao a tutti e grazie ancora una volta per le vostre risposte, se purtroppo non posso immettere solo l'orario nella tabella e ottenere e associare la data tramite delle funzione MySql dovrò trovare un "escamotage"
    guarda che, IMHO, puoi farlo tranquillamente ( a meno di non avere qualche versione antidiluviana di MySql);

    si tratta solo di avere tempo , pazienza e voglia ( che io non ho)
    di guardarsi le funzioni che MySql mette a disposizione:

    https://www.w3schools.com/sql/sql_ref_mysql.asp

  3. #13
    Ciao sspintux grazie per la risposta , sto continuado a cercare una soluzione tramite singola query. Ho trovato il comando CONCAT per concatenare due espressioni insieme in modo da creare la data dinamicamente e i'orario dalle tabelle. Appena ho un pò di tempo provo e se funziona potrebbe essere un punto di partenza per creare correttamente la query.
    Ciao Grazie

    Corr.( TIMESTAMP è comando indicato per il mio scopo no CONCAT)
    Ultima modifica di valemix89; 21-09-2018 a 15:17

  4. #14
    Ciao a tutti sono felice di informarvi che ho trovato una soluzione funzionante per i miei scopi, la seguente:
    codice:
    SELECT * FROM tabella
    WHERE 
    TIMESTAMP(CURRENT_DATE,tmOn) <= CURRENT_TIMESTAMP() 
    AND IF(tmOn > tmOff, TIMESTAMP(CURRENT_DATE + INTERVAL 1 DAY,tmOff),TIMESTAMP(CURRENT_DATE,tmOff))
    La query funziona correttamente e mi seleziona gli elementi con i giusti range salvati come orari .

    La soluzione l'ho trovata con l'utilizzo di TIMESTAMP che mi permette di abbinare i miei dati orari a date generata da Sql con CURRENT_DATE, per poi confrontarli con il dato della funzione CURRENT_TIMESTAMP che mi fornisce i riferimenti di data e ora.
    Nel caso tmOn fosse maggiore di tmOff la condizione IF mi restituisce la data abbinata a tmOff con un giorno in più e il tutto funziona.

    Grazie ancora a tutti per le dritte e i consigli e spero che questa mia soluzione possa tornare utile anche ad altri utenti in difficoltà.
    Ciao Valerio

  5. #15
    Quote Originariamente inviata da valemix89 Visualizza il messaggio
    Ciao a tutti sono felice di informarvi che ho trovato una soluzione funzionante per i miei scopi, la seguente:
    codice:
    SELECT * FROM tabella
    WHERE 
    TIMESTAMP(CURRENT_DATE,tmOn) <= CURRENT_TIMESTAMP() 
    AND IF(tmOn > tmOff, TIMESTAMP(CURRENT_DATE + INTERVAL 1 DAY,tmOff),TIMESTAMP(CURRENT_DATE,tmOff))
    La query funziona correttamente e mi seleziona gli elementi con i giusti range salvati come orari .
    ...
    Guarda , non conosco molto le stranezze di MySql ma personalmente
    avrei scritto qualcosa del genere;

    Non provata ... ci sarà qualche parentesi sbagliata ed ipotizzo timeOn/Off nel formato hh:mm:ss

    codice:
    select * from tabella 
    where current_timastamp()   between 
    timastamp(current_date(), timeOn) 
    and timestamp(date_add(current_date() ,if(timeOn>timeOff, 1,0) interval day)), timeOff)

  6. #16
    Ciao sspintux ho provato ad utilizzare la tua query ma purtroppo mi restituisce errore di sintassi alla linea 4 e non riesco a capire dove sia il problema anche dopo aver fatto diversi tentativi.

    http://sqlfiddle.com/#!9/5b2523/11


  7. #17
    Quote Originariamente inviata da valemix89 Visualizza il messaggio
    Ciao sspintux ho provato ad utilizzare la tua query ma purtroppo mi restituisce errore di sintassi alla linea 4 e non riesco a capire dove sia il problema anche dopo aver fatto diversi tentativi.

    http://sqlfiddle.com/#!9/5b2523/11

    il tuo link a sqlfiddle non mostra nulla;
    ... comunque tuaTabella rappresenta la la tua tabella nella query che segue

    codice:
    select * from 
    (
      select '05:00:01' as timeOn ,'14:00:00' as timeOff
      union all
      select '14:00:01' , '23:00:00' 
      union all
      select '23:00:01', '05:00:00' 
    ) as tuaTabella
    where current_timestamp() between 
    timestamp(current_date(), timeOn) 
    and timestamp(date_add(current_date() , interval if(timeOn>timeOff, 1,0) day), timeOff)

  8. #18
    .
    Ultima modifica di optime; 23-09-2018 a 09:04

  9. #19
    Ciao sspintux grazie x la risposta, non capito se per il link sqlfiddle intendevi che non si apriva correttamente o se la query non mostrava risultati, nel primo caso se clicchi sul link non vieni reindirizzato alla pagina però se copi e incolli l'indirizzo nella url del browser dovrebbe andare (almeno a me cosi funziona).
    Comunque ho provato la tua query e funziona perfettamente con la mia tabella su mamp e sicuramente ha una sintassi migliore rispetto alla mia che risulta un pò confusionaria.
    Ciao Grazie

  10. #20
    Quote Originariamente inviata da valemix89 Visualizza il messaggio
    Ciao Grazie
    Prego.
    È un piacere dare una mano a chi si impegna ed anche con tanto di codice su sql fiddle

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.