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

    [MySQL] Problema con date e CURDATE

    ciao!

    devo estrarre tutti i dati dove il campo dt_invio è oggi.
    dt_invio è di tipo DATETIME, quindi salva i valori in questo formato:
    codice:
    2016-01-02 11:31:57
    questa la select che ho fatto, partendo dal presupposto che ci sono dati con la data di oggi:
    codice:
    SELECT 
    pagamento_nome,
    SUM(dt_qta) qta,
    SUM(dt_importo) imp
    FROM st_documenti_testate
    INNER JOIN st_modi_pagamento ON pagamento_id = dt_pagamento
    WHERE
    dt_negozio_fk = 'N044'
    AND dt_tipo_fk = 1
    AND DATE_FORMAT(dt_invio, '%Y-%m-%d') = CURDATE()
    GROUP BY dt_pagamento
    nn estrae nulla.
    dove sto sbagliando???

  2. #2
    fai una semplice

    SELECT DATE_FORMAT(dt_invio, '%Y-%m-%d'), CURDATE() FROM st_documenti_testate LIMIT 1

    e vedi cosa ti restituisce

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Esce qualcosa se togli la condizione delle date ?

    Prova a fare una select semplice aggiungendo DATE_FORMAT(dt_invio,'%Y-%m-%d'), CURDATE()
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    se levo la condizione delle date, esce un record (cosa che è giusta).

    se metto questo:
    codice:
    SELECT DATE_FORMAT(dt_invio, '%Y-%m-%d'), CURDATE() FROM st_documenti_testate LIMIT 1
    esce questo:
    codice:
    DATE_FORMAT(dt_invio, '%Y-%m-%d') CURDATE()
    2015-12-27 2017-11-03
    forse devo mettere anche un ordinamento per data??

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Si. Aggiungi un : order by campo_data desc
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    non essendoci documenti di oggi ancora, ho dovuto forzare la data a ieri:
    codice:
    SELECT 
    pagamento_nome,
    SUM(dt_qta) qta,
    SUM(dt_importo) imp
    FROM st_documenti_testate
    INNER JOIN st_modi_pagamento ON pagamento_id = dt_pagamento
    WHERE
    dt_negozio_fk = 'F009'
    AND dt_tipo_fk = 1
    AND dt_chiuso = 1
    AND DATE_FORMAT(dt_invio, '%Y-%m-%d') = DATE_FORMAT('2017-11-04', '%Y-%m-%d')
    GROUP BY dt_pagamento
    ORDER BY dt_invio DESC
    cmq non dovrebbe cambiare nulla.
    e con l'ORDER BY, ottengo i record corretti.

    grazie!

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.