per l'insert
se non trovo quei dati li devo inserire. quindi
partendo dalla data
2009-02-01
devo inserire le altre
per l'insert
se non trovo quei dati li devo inserire. quindi
partendo dalla data
2009-02-01
devo inserire le altre
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
In MySQL intervalli di date (somme, sottazioni, etc) vengono gestiti con:Originariamente inviato da ciro78
non è un range ma la somma
cioè
prima data : 1-2-2009
seconda data 8-2-2009
15-2-2009
in pratica debbo controlloare a partire una determinata data se ci sono ripetizioni nelle settimane o mesi seguenti
$data + 7 giorni
$data + 1 mese
qualcosa del genere
ovvero con "INTERVAL xx DAY/MONTH/YEAR"codice:SELECT * FROM tabella WHERE data = $data + INTERVAL 7 MONTH
Administrator of NAMDesign.Net
e anche l'insert può essere realizzato in quel modo?
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
questo non funzionaOriginariamente inviato da LeaderGL
In MySQL intervalli di date (somme, sottazioni, etc) vengono gestiti con:
ovvero con "INTERVAL xx DAY/MONTH/YEAR"codice:SELECT * FROM tabella WHERE data = $data + INTERVAL 7 MONTH
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
anche in questo caso mi da esito negativoOriginariamente inviato da nicola75ss
Ho scritto campo % 5 perchè il modulo restituirà 1 per 1,6,11,16 e così via. Se vuoi bloccarlo a 16 basta che aggiunga tale clausola.
La domanda relativa alla insert non l'ho capita.codice:select * from tabella where date_format(campo_data,"%Y-%m") = '2009-02' and day(campo_data) % 5 = 1 and day(campo_data) <= 16
edit. Se vuoi fermare la ricerca a 16 potresti anche scrivere la query così
codice:select * from tabella where date_format(campo_data,"%Y-%m") = '2009-02' and day(campo_data) in (1,6,11,16)
tenete presente che la query la faccio su tre campi
avevo scritto cosi
codice:SELECT data FROM calendario WHERE nome='pippo' && ora='16:24' && date_format(data,"%Y-%m")=2009-2 && day(data) % 1=1
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Cosa intendi per esito negativo?
Se non metti gli apici per '2009-02' immagino ti restituisca un errore.
edit. Non l'avevo notato. Usando % 1 cosa speri di ottenere?
volevo ottenere la ripetizione per piu giorni
ad esempio
2009-01-01
2009-01-02
etc
anche se faccio
SELECT data FROM calendario WHERE nome='pippo' AND ora='16:24' AND date_format(data,"%Y-%m")='2009-2' AND day(data) % 6=2
cioè mi cerca (come giorni) 2 ,8,14 non mi restituisce nulla
eppure c'è di sicuro il 2
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Prova con '2009-02' specificando lo zero
si ci avevo gia pensato ma senza esito
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Allora non so che dirti. La query sembra corretta. Prova a dirci il tipo dei vari campi (ad esempio il campo ora cos'è?) e a racchiudere il campo data tra `Originariamente inviato da ciro78
si ci avevo gia pensato ma senza esito