Confronto tra due date

carter

Utente Attivo
15 Feb 2012
68
0
0
Ciao a tutti, sono nuovissimo qui...questo è il mio primo messaggio...
vi chiederei subito una cosa...
devo modificare una query che effettua l'update di un campo di una tabella in base a determinate condizioni...
UPDATE tab1 INNER JOIN tab2 ON tab1.id=tab2.id SET tab1.scaduto='Y'
WHERE ((tab2.type='pinco') AND (DATA + INTERVAL 24 HOUR < NOW()))

dove DATA (di tipo datetime) dovrebbe essere la maggiore tra tab1.data e tab2.data

sapete se c'è un modo per mettere questa condizione nella query senza fare altro? (ovvero se c'è qualche funziona nativa di mysql che calcola la maggiore (o più recente) fra due date)

Grazie a tutti e scusatemi se mi presento subito con una richiesta
 

carter

Utente Attivo
15 Feb 2012
68
0
0
grazie alessandro per la risposta...
non vorrei cadere in errore ma MAX non accetta campi "datetime"
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Stavo per partorire un idea ma devo chiudere

ti posto fin dove sono arrivato

Codice:
SELECT IF(TIMEDIFF('2012-02-16 18:00:00', '2012-02-16 19:00:00')> 0,'tab1.data','tab2.data')

restituisce la data maggiore

ma non sono arrivato ad apllicarla al tuo caso

forse sono sulla strada sbagliata ma intanto la salvo qui

ciao
 

carter

Utente Attivo
15 Feb 2012
68
0
0
non so perchè io dovrei fare un confronto dopo l'AND della clausola WHERE...dove prendo in considerazione la DATA
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
si era quello che avevo in mente di fare

pensavo ad una query simile:

metto select per le prove ma puo benissimo diventare UPDATE

Codice:
SELECT * FROM tab1 T1
JOIN tab2 T2 ON T1.id = T2.id
WHERE campo = 'pippo' &&
(IF(TIMEDIFF('T1.data', 'T2.data')> 0,'T1.data','T2.data')+ INTERVAL 24 HOUR < NOW())

è solo un idea da testare
 
Ultima modifica:

carter

Utente Attivo
15 Feb 2012
68
0
0
grazie a tutti per l'interessamento ragazzi...
provo e vi faccio sapere...
comunque visto che non sono esperto di altri db...
la query dovrebbe girare con db mysql e php
 

carter

Utente Attivo
15 Feb 2012
68
0
0
a una prova TIMEDIFF sembra proprio essere la funzione che ci voleva...
ora vado a nanna ma domani provo meglio...
comunque sia vi ringrazio molto ragazzi...siete stati gentilissimi
 

carter

Utente Attivo
15 Feb 2012
68
0
0
un'ultima cosa...
se dovesse interessare a qualcuno...
tutto quello che è inserito nella funzione TIMEDIFF va scritto senza apici...
(parlo sempre di db mysql)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Si senza apici sembrerebbe funzionare

Codice:
SELECT *
FROM tab1 T1
JOIN tab2 T2 ON T1.id = T2.id
WHERE (
IF( TIMEDIFF( T1.data, T2.data ) >0, T1.data, T2.data ) + INTERVAL 24 HOUR < NOW()
)
 

carter

Utente Attivo
15 Feb 2012
68
0
0
si perchè con gli apici non esegue nulla...
anche perchè se non erro gli apici vanno messi alle variabili in mysql...
comunque grazie mille...
testerò per bene la cosa e ti farò sapere sei stato molto gentile...
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
E se ti salvassi il timestamp al posto della data?
Alla fine sono dei semplici numeri (da cui ti puoi ricavare la data effettiva) che ti permettono di eseguire le operazioni con più semplicità.
 

carter

Utente Attivo
15 Feb 2012
68
0
0
Longo8 ho risolto con la funzione timediff...
e comunque le date non devo salvarmele...ce le ho già nel db...
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Longo8 ho risolto con la funzione timediff...
e comunque le date non devo salvarmele...ce le ho già nel db...
Ma infatti io intendevo salvare direttamente il timestamp nel db.
Se già hai risolto, come hai detto, ignora la mia risposta ;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Confronto tra due date in italiano PHP 6
A [ASP] Confronto tra dati Form e DB Classic ASP 2
M [MySQL] Confronto tra variabile varchar e variabile data. PHP 1
C Confronto tra date PHP 3
A Confronto tra date in sql c# ASP.NET 4
Monital [Mysql]Confronto tra tabelle ed inseirmento dati- Comando JOIN (Credo) MySQL 0
S Flash: confronto tra xml Flash 1
M Confronto tra database Classic ASP 4
SolidSnake4 confronto tra date PHP 2
L confronto tra date Javascript 3
A confronto tra stringhe complesse, come fare???? PHP 1
mitzi confronto tra campi Javascript 10
G array_diff - confronto su 2 indici PHP 2
A [PHP] registrazione utente in un database sql con confronto PHP 1
D [PHP] Confronto valore negativo PHP 4
M [PHP] confronto datetime PHP 2
Albesus [PHP] Confronto input con tabella e risultato PHP 10
E [PHP] Operazioni di confronto su stringhe PHP 26
P [MYSQL] SELECT di ..CONFRONTO MySQL 0
T select record univoco dopo confronto di due tabelle MySQL 2
L confronto dati immessi con database PHP 1
J Confronto Date PHP - MySQL PHP 1
B Mostra/nascondi option su confronto datepicker PHP 0
matteoraggi Confronto prezzi per transfer aeroportuali Presenta il tuo Sito 0
D problema con confronto dati PHP 3
Z Confronto con siti concorrenti, SEO e testo landing page SEO e Posizionamento 2
L Confronto su tabelle PHP 3
G confronto dati PHP 2
A Problema con sottrazione e confronto PHP 3
T Problema: Confronto date con Mysql PHP 3
A Confronto orari in variabili e operazioni PHP 1
R problema confronto fra date PHP 2
D SIti confronto prezzi SEO e Posizionamento 3
F Confronto ora del giorno PHP 1
davide1982 Confronto di indirizzi ip nello stesso campo di una tabella Database 1
I Confronto con url PHP 2
S query confronto tabelle MS Access 0
D Wordpress e confronto testo commenti duplicati WordPress 4
M [VBA/EXCEL]Confronto colonne e stampa riga Visual Basic 0
P Confronto due colonne excel Windows e Software 0
M [MySQL] confronto fra date Database 1
L Controllo e confronto dati immessi in 2 campi Data in un form (mysql) PHP 1
M confronto valori select Javascript 2
U Salvataggio IP e confronto col database PHP 1
G Confronto servizi hosting Hosting 0
M Confronto Hosting Hosting 27
N Confronto fra memorie RAM e fra schede video Hardware 0
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3

Discussioni simili