2012-06-28 2 views
0

J'ai jeté un coup d'oeil partout, mais il ne semble pas que mon codage requis soit adressé n'importe où. S'il vous plaît noter que la variable "intervalle" ne fonctionne pas pour moi. S'il vous plaît utiliser le code actuel, qui fonctionne bien pour montrer toutes les dates dans la semaine actuelle.MYSQL: Unix_Timestamp Comment déduire 2 semaines

Le code ci-dessous scinde toutes les dates de la semaine en cours, mais comment puis-je ajuster cela pour séparer la semaine précédente? (Sun sam)

IF(FROM_UNIXTIME(renprop_commercial_new.tstamp, "%U") = FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()),"%U"),1,0) 

J'ai essayé d'ajouter un 7 moins (pour les jours) derrière le « % U », mais il provoque le script d'être positif pour chaque date.

Des idées?

Répondre

1

Déduire 1209600 (deux fois le nombre de secondes dans une semaine) de NOW().

IF(FROM_UNIXTIME(renprop_commercial_new.tstamp, "%U") = FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()-1209600),"%U"),1,0) 

Vous pouvez également utiliser DATE_SUB():

IF(FROM_UNIXTIME(renprop_commercial_new.tstamp, "%U") = FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 2 WEEK)),"%U"),1,0) 
+0

Merci, le code final est le suivant: IF (FROM_UNIXTIME (renprop_commercial_new.tstamp, "% U") = FROM_UNIXTIME (UNIX_TIMESTAMP (NOW()), "% U" -604800), 1,0) Testé et fonctionne comme un charme! Vous m'avez certainement aidé – hermanvn

+0

@hermanvn: Notez que '604800' est pour seulement une semaine, j'ai d'abord mal lu votre question et édité la valeur correcte pendant 2 semaines plus tard. – Kaivosukeltaja

0

Bien que je préfère intervalle à l'aide cela devrait faire l'affaire:

IF(FROM_UNIXTIME(1340341200, "%U") = FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())-(7*24*60*60),"%U"),1,0); 
+0

Merci, cette requête a été fermée! J'ai dû attendre un moment jusqu'à ce qu'il accepte ma tique. – hermanvn

Questions connexes