date & time

haluan kyselyn joka kysyy edellispäivän tietyltä aikaväliltä tapahtumat.
Onistuu kyllä between käskyllä jos antaa päivät ja ajan.
Onnisun myös vähentämään myös nykyisestä päivästä edelliseen päivään.
Mutta miten tuon vakio ajan esim. 10:00 - 12:00 saisi samaan kyselyyn?
91034
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

SELECT * FROM Events
WHERE EventDate BETWEEN '2019-01-17'' AND '2019-01-16'
AND EventTime BETWEEN '10:00' AND '12:00';

Äänestä
  • Niin tuohan edellyttää että kyseessä oli MySQL tietokantamoottori ja että sinulla on jokin tietokanta jossa on Events (Tapahtumat) taulukko ja että tässä taulukossa on EventDate (TapahtumaPäivä) ja EventTime (TapahtumaAika) nimiset kentät.

    Täysin sama kysely se toimii myös SQLite moottorilla.

    Äänestä

  • Huomasin että halusit vain sen yhden päivän sisältämät tapahtumat, joten näinhän se silloin:

    SELECT * FROM Events
    WHERE EventDate='2019-01-16'
    AND EventTime BETWEEN '10:00' AND '12:00';

    Äänestä


Eilisen päivän saa hakuehdolla "CURDATE() - INTERVAL 1 DAY".

Äänestä

Nuo varmaankin toiminee, mutta unohdin kertoa että pvm ja aika on samassa solussa 2019-01-21 10:00:00 muodossa ja kanta on msql server.
Eli täytyisi saada jos mahdollista jossa tuo pvm pelkästään otetaan edelliseen päivään (esim "CURDATE() - INTERVAL 1 DAY" tyyliin) ja aika olisi tuo vakio 10-12. Seuraava käsky toimii
where aika between '2019-01-20 10:00:00' and '2019-01-20 12:00:00'.
helppohan tuossa kyselyssä olisi vain vaihtaa päivää, mutta se tulee myös excelin ja päivitä makrolla suoritettavaksi kyselyksi siksi tuo currdate -1.

Äänestä

ei linkki aukee

Äänestä
  • Aukee se

    Äänestä

Kommentoi aloitusta


niinpä11 kirjoitti:

haluan kyselyn joka kysyy edellispäivän tietyltä aikaväliltä tapahtumat.
Onistuu kyllä between käskyllä jos antaa päivät ja ajan.
Onnisun myös vähentämään myös nykyisestä päivästä edelliseen päivään.
Mutta miten tuon vakio ajan esim. 10:00 - 12:00 saisi samaan kyselyyn?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu