Toon posts:

[PHP] DATETIME 3 dagen aftrekken

Pagina: 1
Acties:
  • 92 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo, ik heb een klein vraagje voor de standaard SQL guru's

Ik heb een SQL query:
SELECT count(*) as aantal FROM gebruikers

Nou heb ik een veld:
laatstactiefdatumtijd VARCHAR(25)

Waar DATETIME's in staan Bijvoorbeeld: (2004-05-13 17:43:40)
Nu wil ik alleen de gebruikers aantal hebben van de afgelopen drie dagen.

Ik heb al zitten stoeien met CAST en CONVERT om de VARCHAR naar DATETIME te kijgen maar dan zit ik nog met de drie dagen.
Is er iemand die hiervoor een makkelijke oplossing heeft?

Alvast bedankt.

Verwijderd

zo doe ik het om orders ouder dan 20 dagen te selecteren:

code:
1
select id from shop_orders where id_status = 1000 and timestamp < (CURRENT_DATE-20);


weet niet of 'CURRENT_DATE' postgres specifiek is, maar het geeft iig de huidige datum terug, waarna 20 dagen worden afgetrokken.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:01

Janoz

Moderator Devschuur®

!litemod

Waarom heeft het veld het type varchar terwijl je er data in wilt doen? Waneer het gewoon echt het type datetime was kon je heel simpel de tijd functies toepassen. Welke database gebruik je trouwens?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Het is het gemakkelijkst om je database te veranderen, als je dit wilt.

Bijvoorbeeld een integerveld met een timestamp (PHP: time()), of een date-time veld (eventueel een UNIXTIME in MySQL.

  • 418O2
  • Registratie: November 2001
  • Nu online
kijk ff naar date icm mktime

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Waarom nou weer een VARCHAR met een DATETIME format :?

Als je gewoon DATETIME gebruikt kun je met DATE_SUB(datum, INTERVAL 3 DAY) oid gemakkelijk 3 dagen van een tijd aftrekken.

Deze had je zelf ook wel kunnen vinden:

http://dev.mysql.com/doc/...e_and_time_functions.html

[ Voor 24% gewijzigd door Bosmonster op 13-05-2004 18:23 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Kwestie van manual lezen dus :/

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Zoals Bosmonster zegt, je slaat een date time op dus gebruik dan ook de datetime field daarvoor. Daarmee kan je dan een stuk eenvoudiger dingen doen, kan je ook makkelijk kijken of een datum binnen een bepaalde periode valt e.d.

Verder is het een basic vraag, en kan je in elke manual van SQL vinden die over datums praat.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.