SQL:n perusteet DATE:n suhteen hukassa

helppo tietävälle

Taulussa on muuttuja date_arvo. Siellä on rivi esim. "2009-01-10 19:19:53"

Mitä teen väärin?

SELECT * FROM taulu WHERE date_arvo like '%2009-01-10 %';

3

833

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • bZZgWQv3ai

      Like on tarkoitettu merkkijonoille. Ilmeisesti date_arvo on mallia TIMESTAMP. Siihen puree normaalit matemaattiset vertailuoperaattorit.

    • bZZgWQv3ai

      SELECT * FROM taulu WHERE CAST(date_arvo AS DATE)='2009-01-10'

      Jotain tuollaista. Kovasti taidot ovat ruosteessa. Pitäisi oikeastaan katsoa manuaalista.

    • Kokeilepa ilman prosenttimerkkejä ja ylimääräisiä välejä. Toiminee ainakin oraclessa, ellen ihan väärin muista.
      Ehkä järkevämpää olisi hakea rivit, joilla date_arvo >= 2009-01-10 ja < 2009-01-11. Jälkimmäiseen tietysti joku tietokannan tarjoama funktio, jolla lisätään yksi päivä (esim. oraclessa taitaa mennä ihan date_arvo 1).

      LIKE sinänsä on stringivertailu. Voit toki castata tuon stringiksi ja sitten toimii, mutta jos tuo on indeksoitu, voi suorituskyky ihan pikkasen romahtaa (pitäisi varmaan olla, jos rivejä on yhtään enemmän ja tuo on ainut hakukriteeri).

      Yleisenä periaatteena: käytä like- hakua vain jos se on oikeasti välttämätön. , = ja = ovat parempia, vaikka niitä joutuisi käyttämään enemmänkin.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      42
      2732
    2. Mansikkatiloilla hyväksikäytetään ukrainalaisia

      Työolot ovat surkeita ja palkka kelvoton. https://yle.fi/a/74-20172942
      Maailman menoa
      342
      2470
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      35
      2154
    4. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      47
      1896
    5. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      24
      1685
    6. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      25
      1589
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      44
      1460
    8. Sokea "ystävälle"

      Oletko oikeasti noin sokea?
      Ikävä
      100
      1419
    9. En ymmärrä käytöstäsi

      Se on ollut eräänlaista hyväksikäyttöä. Että seura kyllä kelpaa palstan välityksellä silloin kun ei ole parempaakaan tek
      Ikävä
      139
      1375
    10. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      36
      1176
    Aihe