datum in sql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J A

J A

06/07/2008 13:48:00
Quote Anchor link
Hallo,

Bij een klein shoutboxje is het de bedoeling dat als er een bericht vandaag is gepost, dat dan de tijd (HH:MM) erneer word gezet en als het bijv. gisteren of daarvoor werd gepost, dat je dan de datum (DD.MM) ziet. De kolomnaam is "tijd" en heeft een datetime op zich.
Ik weet wel dat je met het volgende een specifiek gedeelte kan pakken, maar hoe zorg ik er nou voor dat hij bij een vorige dag de datum pakt en bij vandaag de tijd?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
DATE_FORMAT(tijd, '%d.%m') AS datum
DATE_FORMAT(tijd, '%H:%i') AS tijden
Gewijzigd op 01/01/1970 01:00:00 door J A
 
PHP hulp

PHP hulp

21/12/2024 18:58:34
 
Joren de Wit

Joren de Wit

06/07/2008 13:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
  CASE WHEN DATE(tijd) < CURRENT_DATE
  THEN
    DATE_FORMAT(tijd, '%d.%m')
  ELSE
    DATE_FORMAT(tijd, '%H:%i')
  END AS tijdstip
FROM
  tabel
 
J A

J A

06/07/2008 14:08:00
Quote Anchor link
Oh, kan zoiets ook al in SQL .. wist ik niet. Maar het werkt niet helemaal.

Quote:
Notice: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(tijd) < CURRENT_DATE THEN DATE_FORMAT(tijd
In query: SELECT CASE WHEN DATE(tijd) < CURRENT_DATE THEN DATE_FORMAT(tijd, '%d.%m') ELSE DATE_FORMAT(tijd, '%H:%i') END AS tijdstip, bericht FROM shoutbox in ..... on line 20
 
Joren de Wit

Joren de Wit

06/07/2008 14:18:00
Quote Anchor link
De query even getest, en hij werkt hier lokaal prima. Welke versie van MySQL gebruik je?
 
J A

J A

06/07/2008 14:20:00
Quote Anchor link
MySQL client version: 4.0.23

Als het goed is word hij binnenkort een keer geupdate .. helaas duurt dat altijd even :( Of ik zal even moeten zoeken naar een andere host :P
Gewijzigd op 01/01/1970 01:00:00 door J A
 
J A

J A

06/07/2008 15:59:00
Quote Anchor link
Kan het alleen op versie 5 dan?
 
Joren de Wit

Joren de Wit

06/07/2008 16:02:00
Quote Anchor link
Dat verklaart een hoop, DATE() is namelijk pas beschikbaar vanaf 4.1.1. Je zou het op deze manier kunnen omzeilen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
  CASE WHEN DATE_FORMAT(tijd, '%Y-%m-%d') < CURRENT_DATE
  THEN
    DATE_FORMAT(tijd, '%d.%m')
  ELSE
    DATE_FORMAT(tijd, '%H:%i')
  END AS tijdstip
FROM
  tabel

Maar goed, het is nog altijd geen pretje om met MySQL 4.0 te moeten werken. Overstappen naar een andere host kan ook altijd nog een optie zijn als ze niet zeer binnenkort gaan upgraden...
 
J A

J A

06/07/2008 16:07:00
Quote Anchor link
Bedankt, het werkt ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.