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

    [MYSQL] confronto tra date

    Ciao ragazzi stavo costruendo una query quando mi sono imbattuto in un problema, la query mi server per controllare se un azienda ha già un contratto attivo e valido (nel periodo di tempo stabilito)
    Il problema è che non mi funziona il confronto tra date, ho fatto cosi:

    codice:
    SELECT * FROM contratti WHERE azienda_id = (SELECT id FROM aziende WHERE ragione_sociale=$rag_soc) AND attivo='1' AND DATE_FORMAT(data_inizio, '%d/%m/%Y') < DATE_FORMAT(CURDATE(), '%d/%m/%Y') AND DATE_FORMAT(data_fine, '%d/%m/%Y') > DATE_FORMAT(CURDATE(), '%d/%m/%Y')
    Funziona fino a AND attivo='1'

    Ripeto, devo controllare che abbia già un contratti attivo e che sia valido, cioè nel periodo di tempo stabilito
    Che mondo sarebbe senza Nutella.

    PHP/MYSQL/HTML/CSS/JAVASCRIPT

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    è un gran "casino", innanzitutto perchè non c'è una parentesi
    (che è, non ti piacciono?)

    poi riguardo al confronto date, tipicamente, non si usano (o almeno sconsiglio di usare) funzioni "strane" di conversione data.

    Ovvero passi, lato applicazione, GIA' in formato mysql la data, magari con una funzione date2datamysql

  3. #3
    Bhe sono riuscito a risolvere così, com'è secondo te?

    codice:
    SELECT * FROM contratti WHERE azienda_id = (SELECT id FROM aziende WHERE ragione_sociale=$val) AND attivo='1' AND DATE_FORMAT(data_inizio, '%d/%m/%Y') > DATE_FORMAT(CURDATE(), '%d/%m/%Y') AND DATE_FORMAT(data_fine, '%d/%m/%Y') > DATE_FORMAT(CURDATE(), '%d/%m/%Y')
    Che mondo sarebbe senza Nutella.

    PHP/MYSQL/HTML/CSS/JAVASCRIPT

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.