DATE_FORMAT %w meerdere dagen tegelijk selecteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Kvdd

kvdd

30/06/2008 11:45:00
Quote Anchor link
Ik probeer met deze SQL query dagnummer 1 en 3 te selecteren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE DATE_FORMAT(uren_begin, '%w') = '1' OR '3'


Maar dat gaat niet werken.

Wel als ik het als volgt doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
WHERE DATE_FORMAT(uren_begin, '%w') = '1'
AND
DATE_FORMAT(uren_begin, '%w') = '3'


Iemand enig idee waarom de bovenste optie niet werkt?
Zou toch gewoon moeten werken m.i..
Gewijzigd op 01/01/1970 01:00:00 door Kvdd
 
PHP hulp

PHP hulp

08/11/2024 11:34:33
 
B a s
Beheerder

B a s

30/06/2008 11:48:00
Quote Anchor link
Probeer het eens als

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE DATE_FORMAT(uren_begin, '%w') = '1'
OR DATE_FORMAT(uren_begin, '%w') = '3'
 
Kvdd

kvdd

30/06/2008 11:52:00
Quote Anchor link
Ja oke, die AND van mij is inderdaad een OR. Maar mijns inziens moet de query korter kunnen.
Zoals ik in de bovenste code aangaf.

Dus mijn tweede optie is gewoon de enigst mogelijke?
 
B a s
Beheerder

B a s

30/06/2008 11:55:00
Quote Anchor link
Ik ben ook niet een ster in SQL maar probeer gewoon 's wat zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE DATE_FORMAT(uren_begin, '%w') = (1 OR 3)
 
Mark PHP

Mark PHP

30/06/2008 11:56:00
Quote Anchor link
Gokje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE DATE_FORMAT(uren_begin, '%w') IN (1, 3)
 
Kvdd

kvdd

30/06/2008 12:07:00
Quote Anchor link
@Bas Kreleger: met die van jou paktie toch alleen nr 1.

@Agirre: dankjewel, dat was em inderdaad! Waarom doe ik zo moeilijk? (this->retorisch)
 
Citroen Anoniem Graag

Citroen Anoniem Graag

30/06/2008 12:09:00
Quote Anchor link
WHERE DATE_FORMAT(uren_begin, '%w') = (1 OR 3)

volgens mij geeft dat gewoon een 1 terug (true) omdat ie denkt dat het een vergelijking is. En deze zal altijd true terug geven...
 
Kvdd

kvdd

30/06/2008 12:23:00
Quote Anchor link
@Freek: Als ik de statement uitvoer:

WHERE DATE_FORMAT(uren_begin, '%w') = (0 OR 2)

Dan paktie altijd de maandag (terwijl 0 zondag is), blijkbaar is maandag in dit geval de 1 van TRUE. :)
 
Frank -

Frank -

30/06/2008 12:55:00
Quote Anchor link
Tip: Gebruik DAYOFWEEK() of WEEKDAY(), een stuk handiger dan DATE_FORMAT().
 
Kvdd

kvdd

30/06/2008 13:58:00
Quote Anchor link
Dankje pgFrank, alleen ik heb tijdens het programmeren rekening gehouden dat 0 = Sunday, 1 = Monday etc.
Bij DAYOFWEEK: 1 = Sunday etc
Bij WEEKDAY: 0 = Monday

Dus die functies gebruiken net een ander nummer.

Natuurlijk kan ik het omzetten in mijn code, maar opzich maakt het niet uit.

Wel bedankt!
Gewijzigd op 01/01/1970 01:00:00 door kvdd
 



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.