Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Select-fråga.

Postades av 2004-02-27 14:17:05 - Jens Obelin, i forum databaser, Tråden har 13 Kommentarer och lästs av 964 personer

Hejsan.

Jag skulle behöva hjälp med att skapa en selectfråga som söker ut poster mellan ett datum, tid och ett annat datum, tid.

datum- och tidfälten ligger separata fält och mitt problem är att jag inte får några poster när jag skriver:

select * from labarb
where datum >= '20030423' and tid >= '1000'
and datum <= '20030424' and tid <= '0800';

Jag vet att det finns en post med datum '20030423' och tid '1203'. Jag vill alltså ha ut alla poster mellan klockan 1000 den 20030423 och klockan 0800 den 20030424

Antar att det har något med gruppering att göra men behöver lite hjälp!


Svara

Sv: Select-fråga.

Postades av 2004-02-27 14:27:47 - Johan Djupmarker

Vilken databas gäller det? Vilken fälttyp lagras datum och tid i? Ser ut som text här, i sådana fall kan du göra såhär (kolla hur du slår ihop strängar i databasen du använder):

select * from labarb
where datum & tid >= '200304231000'
and datum & tid <= '200304240800';

/Johan


Svara

Sv: Select-fråga.

Postades av 2004-02-27 14:38:51 - Jens Obelin

Hejsan och Tack!

Det är en Oracle-DB!


Svara

Sv: Select-fråga.

Postades av 2004-02-27 14:47:00 - Jens Obelin

Hej igen!

datum är av typen date
tid är av typen alphanumeric

Det finns inget sätt att använda sig av parenteser eller sub-selects?

Mvh


Svara

Sv: Select-fråga.

Postades av 2004-02-27 18:35:55 - Andreas Hillqvist

Varför skall man lagra det i två skillda fält vilket ställer till problem just i detta läget. Eftersom man inte kan skriva som du gör. Du är tvungen att slå samman dem på något sätt. Normalt lagrar datum fält även tidsangivlerser.


Svara

Sv: Select-fråga.

Postades av 2004-02-28 10:54:44 - Ulf Magnusson

Hej.

Håller med föregående om att det vore smartare att lagra allt i ett DATE fält eftersom tidsdelen inkluderas i detta, men här kommer en idé:

select * from labarb
where to_date(datum || tid, 'YYYYMMDDHH24MI')
between to_date('200304231000', 'YYYYMMDDHH24MI')
and to_date('200304240800', 'YYYYMMDDHH24MI');


Svara

Sv: Select-fråga.

Postades av 2004-03-01 08:29:17 - Jens Hallberg

Borde det inte vara med några parenteser.

select * from labarb
where (datum >= '20030423' and tid >= '1000')
and (datum <= '20030424' and tid <= '0800');


Svara

Sv: Select-fråga.

Postades av 2004-03-01 11:10:41 - Andreas Hillqvist

Man kan inte göra jämförelser på det sättet.


Exempel data.

Datum Tid
2003-04-22 8:00:00
2003-04-22 12:00:00
2003-04-22 16:00:00
2003-04-23 8:00:00
2003-04-23 12:00:00
2003-04-23 16:00:00
2003-04-24 8:00:00
2003-04-24 12:00:00
2003-04-24 16:00:00


tid >= '1000' and tid <= '0800'

Kommer var tillåta att klockslag som är mindre eller lika med 8 och större eller lika med 10 och mellan den 23 och 24. Vilket inte stämmer med vad man vill åstakomma. Mqn vill ha ut det poster som ligger inom en angiven tidsrymd kl 10 den 23 till ocm de kl 8 den 24.


Svara

Sv: Select-fråga.

Postades av 2004-03-01 14:56:53 - Jenny Månsson

Finns det ingen
BETWEEN funktion
som i sql?


Svara

Sv: Select-fråga.

Postades av 2004-03-01 15:46:56 - Johan Djupmarker

Detta ÄR SQL så visst kan man använda BETWEEN. Jag valde dock att använda mig av < och > i mitt exempel. Men man får exakt samma resultat med BETWEEN.

/Johan


Svara

Sv: Select-fråga.

Postades av 2004-03-02 10:38:41 - Mikael Andersson

Du behöver parenteser. Uttrycket kommer alltid att vara falskt eftersom tid >='1000' OCH tid <='0800' vilket inte lär bli några poster alls.
/Micke


Svara

Sv: Select-fråga.

Postades av 2004-03-02 11:02:31 - Ulf Magnusson

Varför krångla till det ?

Eftersom det är en Oracledatabas, använd då de funktioner som finns däri.
I mitt tidigare förslag missade jag att fältet "datum" var av datatyp DATE,
men här kommer korrigeringar:

Alt 1: Eftersom datatypen DATE alltid innehåller datum och tid,
inkludera tiden till datument när du gör insert/update.
ex:
insert into labarb (datum,.....) values (SYSDATE,....)
insert into labarb (datum,.....) values (to_date('200304231000', 'YYYYMMDDHH24MI'),....)

select * from labarb
where datum between to_date('200304231000', 'YYYYMMDDHH24MI')
and to_date('200304240800', 'YYYYMMDDHH24MI');


Alt 2: Konkatinera datum och tid och använd Oracle's date funktioner utan massa parentes krussiduller.

select * from labarb
where to_date(to_char(datum,'YYYYMMDD') || tid, 'YYYYMMDDHH24MI')
between to_date('200304231000', 'YYYYMMDDHH24MI')
and to_date('200304240800', 'YYYYMMDDHH24MI');





Svara

Nyligen

  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 978
27 965
271 783
557
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies