Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [mysql] Estrarre Time()

    Ho una query che restituisce un valore date - time

    select date from broadcast_message limit 1;

    2008-10-09 08:53:29
    Ora vorrei trovare una funzione che estrapoli da questo valore solo il tempo, dunque 08:53:29.

    Ho provato semplicemente con

    select time (select date from broadcast_message limit 1);

    Ma mi dà argomento di default 00:00:00

    Allora mi viene un dubbio: se inserisco nella funzione time una data, come per esempio

    select time('2008-03-02 11:11:11')

    mi restituisce 11:11:11...

    Mentre se inserisco, invece della stringa con la data, una query che restituisce una data, non ottengo il risultato sperato.

    Come posso fare per ottenere ciò che voglio e/o qual'è il mio errore?

  2. #2
    TIME() è una funzione ....

    SELECT TIME(date) from broadcast_message LIMIT 1;

  3. #3
    E se la funzione fosse invece di tipo timediff(arg1, arg2) e le query sono rispettivamente

    select sum(date) from broadcastmessage where date = now() & message = 1

    select sum(date) from broadcastmessage where date = now() & message = 8

    ????

  4. #4
    Puoi usare IF(), anche se personalmente lo farei in PHP per ridurre il carico del database.

  5. #5
    Ho letto ora la documentazione sull'IF().

    Ma sinceramente non riesco a cavare un ragno dal buco...

    La funzione deve calcolare una differenza di tempo.

    Ora io ho due argomenti nella funzione timediff(arg1, arg2)

    entrambi gli argomenti fanno parte della stessa colonna della stessa tabella.

    Le due query le ho scritte sopra e cambiano solamente di un numero.

    Se ho capito come utilizzare la funzione time(), non capisco come utilizzare timediff...

  6. #6
    SELECT SUM(IF(message = 1, date, -date)) FROM broadcastmessage WHERE date = NOW() AND ((message = 1) OR (message = 8))

  7. #7
    Giuro che non ci sarei mai arrivato...

    Ho capito comunque che la query seleziona tutte le date del giorno odierno a cui siano associati valori 8 o 1 della colonna messaggio. Nel caso in cui sia 1 allora somma la data, nel caso sia 8 la sottrae.

    Solo un'ultima domanda: che tipo di dato ritorna? E come faccio a convertire quel dato nel formato ORE _ MINUTI _ SECONDI???

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 © 2025 vBulletin Solutions, Inc. All rights reserved.