Order by datum d-m-y

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Jeroen de wilde

Jeroen de wilde

08/06/2020 23:52:33
Quote Anchor link
Beste,

ik probeer nu SELECT * FROM items ORDER by Datum.
Maar dit lukt niet door het formaat d-m-y.
Is dit mogelijk?

Alvast bedankt
 
PHP hulp

PHP hulp

08/12/2021 17:05:10
 
- Ariën -
Beheerder

- Ariën -

08/06/2020 23:55:43
Quote Anchor link
Zo'n query moet gewoon werken.

De vraag is eigenlijk: Wat gaat er volgens jou niet goed?
 
Jeroen de wilde

Jeroen de wilde

08/06/2020 23:58:06
Quote Anchor link
hij plaatst de datums niet juist.
vb
01-01-2020
02-01-1999
03-01-2020
 
Thomas van den Heuvel

Thomas van den Heuvel

08/06/2020 23:58:35
Quote Anchor link
Datums zou je op moeten slaan volgens standaarden, yyyy-mm-dd is dan een makkelijke, omdat in dat formaat de textuele sortering de numerieke sortering volgt zodat je op een zinnige manier datums voor en na een specifieke datum of in een interval kunt oproepen.

Hoe je de datum vervolgens weergeeft (bijvoorbeeld als d-m-y) staat hier compleet los van.

Terug naar de tekentafel van je database-ontwerp dus.
Gewijzigd op 08/06/2020 23:59:17 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

08/06/2020 23:59:09
Quote Anchor link
Waarom gebruik je geen DATETIME?
Ik gok dat je een VARCHAR hebt, en dus heeft SQL geen enkele weet dat je een datumformaat gebruikt, en sorteert hij maar op de dag. Want na 1 komt 2, en daarna komt weer 3.
Gewijzigd op 09/06/2020 00:00:40 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

09/06/2020 00:09:20
Quote Anchor link
De vergelijkingen (zowel teksten alsook DATETIMEs) zijn sowieso allebei tekstueel. Daarom is het dus belangrijk dat de tijdseenheid met het grootste gewicht vooraan staat (het jaar).

De datums worden alfabetische geordend. Dus wordt er vanaf het begin van de (datum)string gekeken wat groter/kleiner is. Dit is niet hetzelfde als een numerieke vergelijking.

Vergelijk:
SELECT 312 < 41;
> 0
(312 komt numeriek niet voor 41)

SELECT '312' < '41';
> 1
('312' komt textueel (lexicografisch) wel voor '41')
 
Ivo P

Ivo P

09/06/2020 12:37:21
Quote Anchor link
Als de kolom een varchar is, is er nog steeds de mogelijkheid dat iemand er via een omweg misschien toch "vandaag" in weet te proppen.
of 99-02-MMXX

Date / datetime geeft in elk geval ook al naar de database aan waar het om gaat, zodat die er met interne opslag en extra functies al rekening mee kan houden.

Ik kan me voorstellen dat
WHERE YEAR(datumkolom) = 2020 beter werkt dan
WHERE datumkolom LIKE '2020%' of iets met substring()
 
Thomas van den Heuvel

Thomas van den Heuvel

09/06/2020 16:51:45
Quote Anchor link
Ivo P op 09/06/2020 12:37:21:
Als de kolom een varchar is, is er nog steeds de mogelijkheid dat iemand er via een omweg misschien toch "vandaag" in weet te proppen.
of 99-02-MMXX


Sja, als je je input niet valideert dan houdt het sowieso een beetje op :p.
 



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.