Avatar billede set Nybegynder
21. marts 2007 - 19:23 Der er 9 kommentarer og
1 løsning

udvælge data fra et tekstfelt

jeg har et tekstfelt i en SQL database med en dato i formatet
01-01-2007.

Spørgsmålet går ud på hvordan jeg kan udvælge et interval mellem 2 udvalgte datoer fra feltet.

F.eks. hvis jeg skal bruge data fra en startdato til en slutdato.

SELECT * FROM tblBruger6000Web WHERE Felt5 <> '' and felt7 >='" & startdato & "' and felt7 <='" & slutdato & "' order by fornavn ASC"

hvor startdato og slutdato kommer fra en anden formular som parametre.
Avatar billede compilos Nybegynder
21. marts 2007 - 20:00 #1
Kan man ikke bare gøre sår´n

SELECT * FROM tblBruger6000Web WHERE
felt7 >='" & startdato & "' and
felt7 <='" & slutdato & "' order by fornavn ASC"
Avatar billede set Nybegynder
21. marts 2007 - 20:09 #2
Det har jeg prøvet men får også data fra tabellen som er udenfor datointervallet
f.eks hvis jeg vælger startdato til 01-02-2007 og slutdato til 28-02-2007 så får jeg også records fra marts og januar
Avatar billede madeindk Nybegynder
21. marts 2007 - 20:13 #3
Er der nogen speciel grund til du ikke bruger den indbyggede funktion der hedder BETWEEN? Er ikk sikker på du kan bruge den medmindre dine felter er et timestamp, eller hvad det hedder i MS SQL.
Avatar billede set Nybegynder
21. marts 2007 - 22:05 #4
Har prøvet men det hjælper heller ikke
Avatar billede arne_v Ekspert
21. marts 2007 - 23:38 #5
hvis din applikation er lavet i et sprog som understøtter parameters / prepared statement,
så brug dem
Avatar billede set Nybegynder
21. marts 2007 - 23:46 #6
jeg arbejder med en webside i asp hvor jeg over fører datoen som f.eks. 01-01-2007 men jeg kan ikke få lavet en ordentlig SQL sætning der udvælger intervalet
Avatar billede arne_v Ekspert
22. marts 2007 - 00:08 #7
formentligt skal det angives i formatet yyyymmdd

men ASP understøtter faktisk parameters !
Avatar billede bennytordrup Nybegynder
22. marts 2007 - 05:54 #8
Du siger, at din dato ligger i et TEKST felt? Hvis det er korrekt, så får du ikke din afgrænsning til at virke, hvis datoen ligger i formatet dd-mm-yyyy.

Du kan gøre et af 2:

  1. Ændre formatet på datoen til yyyymmdd på samtlige poster og alle steder, hvor du indtaster noget, der skal sammenlignes med det.

  2. Ændre datatypen til DateTime - evt. i et nyt felt i databasen og derefter arbejde mod dette sammen med anvendelsen af DateTime variable.

Nr. 2 er klart min anbefaling.
Avatar billede set Nybegynder
24. marts 2007 - 09:04 #9
jeg har flyttet det hele over i en access database idet der lige pludselig skulle meget mere med i databasen end brugerne først ville have og SQL databasen kun var til låns hos en anden, og der har jeg så brugt datoformatet i feltet. Så nu virker søgningen.
Gider du smide et svar bennytordrup så er pointene dine.
Avatar billede set Nybegynder
14. maj 2007 - 20:48 #10
ingen reaktion så jeg lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester