Page 1 of 2 12 Last
  1. #1
    LilWeezy's Avatar
    Registered
    22/07/11
    Location
    Bruxelles
    Posts
    45
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    SQL (postgresql) vraagje

    Dag iedereen ,

    Ik ben nog niet zo lang bezig met programmeren in SQL maar ik heb een oefening waar je één where condition mag hebben maar niet gebruik mag maken van AND of OR.

    De oefening is dus om mensen die in de jaren 70 geboren zijn te tonen.

    En ik heb dus geen idee hoe ik dit zou kunnen doen.

    Alvast bedankt!

    Grtjs
    no votes  

  2. #2
    Tyfius's Avatar
    Registered
    01/09/02
    Location
    Peutie
    Posts
    7,664
    iTrader
    0
    Mentioned
    4 Post(s)
    Reputation
    13/105
    Dat kan volgens mij dan alleen maar via BETWEEN.
    Vanaf nu gaan we verder op BeyondGaming!
    In deze thread wordt uitgelegd hoe je jouw account kan migreren.
    no votes  

  3. #3
    LilWeezy's Avatar
    Registered
    22/07/11
    Location
    Bruxelles
    Posts
    45
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Ok en hoe moet je dit juist toepassen want volgende code werkt nog altijd niet volledig.
    :
    SELECT spelersnr, naam, EXTRACT(YEAR from geb_datum) as jaar
    FROM spelers
    WHERE EXTRACT (year from geb_datum) 1970 between 1979

    Toch al bedankt !
    no votes  

  4. #4
    *Fmc*'s Avatar
    Registered
    26/02/04
    Location
    Aarschot
    Posts
    1,543
    iTrader
    49 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/5
    SELECT *
    FROM Stu_Table
    WHERE Stu_Dob BETWEEN '1984-01-01 00:00:00' AND '1986-1-1 00:00:00';

    Werkt ook met andere datetime formats natuurlijk
    Your gaming universe
    no votes  

  5. #5
    KiPpIe's Avatar
    Registered
    17/07/02
    Location
    Sint-Job
    Posts
    2,690
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/29
    Maar dan heeft hij wel het probleem dat er een AND in zit, hoewel deze natuurlijk niet dezelfde betekenis heeft als de conditional AND

    Andere mogelijkheid zou zijn om uit uw datetime de years te halen, dit te casten naar een (var)char, en dan te zien of het begint met 197% ?
    Anders ook de jaren nemen, en de modulus 1970 nemen en zien of het kleiner is dan 10?

    Zijn maar enkele dingen die mij te binnen schieten, maar zijn beide redelijk lelijk om te doen
    no votes  

  6. #6
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by KiPpIe View Post
    This quote is hidden because you are ignoring this member. Show
    Anders ook de jaren nemen, en de modulus 1970 nemen en zien of het kleiner is dan 10?
    Gewoon aftrekken zal beter zijn.
    no votes  

  7. #7
    KiPpIe's Avatar
    Registered
    17/07/02
    Location
    Sint-Job
    Posts
    2,690
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/29
    Ah nee, want als ge dan in 1968 geboren zijt, en daar 1970 van aftrekt, komt ge op -2 < 10, dus is in de jaren 70 geboren. En ge kunt niet controleren of het groter is dan 0, want dan hebt ge een AND nodig.
    Denk ik, tenzij mijn hersenen mij weer in de steek laten.
    no votes  

  8. #8
    Parnakra's Avatar
    Registered
    15/04/04
    Location
    Izegem
    Posts
    6,095
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Hm, klopt, had even een brain-fart.
    no votes  

  9. #9
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Code:
    SELECT *
    FROM personen
    WHERE jaar >= 1970
    HAVING jaar < 1980
    o/'
    no votes  

  10. #10
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    abs(ceil(jaar-1975+0.1))<5 zoiets... De ceil en de som is om 1980 uit te schakelen.

    Edit: werkt ook niet perfect want dan krijg je ook 1969...
    Last edited by Cycloon; 05-03-2012 at 21:28.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  11. #11
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Quote Originally Posted by Cycloon View Post
    This quote is hidden because you are ignoring this member. Show
    abs(ceil(jaar-1975+0.1))<5 zoiets... De ceil en de som is om 1980 uit te schakelen.

    Edit: werkt ook niet perfect want dan krijg je ook 1969...
    Wat van: CEIL(ABS(jaar - 1975 + 0.5)) < 5 ?
    o/'
    no votes  

  12. #12
    Emerxill's Avatar
    Registered
    17/07/02
    Location
    Hasselt
    Posts
    2,970
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/18
    Quote Originally Posted by Gurdt View Post
    This quote is hidden because you are ignoring this member. Show
    Wat van: CEIL(ABS(jaar - 1975 + 0.5)) < 5 ?
    Da's voor als TS een Master-opleiding volgt

    De graduaat-versie is:
    IN (1970, 1971, 1972, 1973, 1975, 1976, 1977, 1978, 1979)
    If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization
    no votes  

  13. #13
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Abs(jaar-1974.5)<=4.5 is volgens mij volledig correct

    Hierboven: so true
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  14. #14
    LilWeezy's Avatar
    Registered
    22/07/11
    Location
    Bruxelles
    Posts
    45
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    select spelersnr, naam, geb_datum
    from spelers
    where extract (year from geb_datum) between 1960 and 1969

    Dit was de juiste oplossing! Thanks iedereen !
    no votes  

  15. #15
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Quote Originally Posted by LilWeezy View Post
    This quote is hidden because you are ignoring this member. Show
    select spelersnr, naam, geb_datum
    from spelers
    where extract (year from geb_datum) between 1960 and 1969

    Dit was de juiste oplossing! Thanks iedereen !
    Da zijn wel de jaren 60 he en wij ma zoeken naar die uit de jaren 70.
    o/'
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in