Avatar billede runberg Nybegynder
05. januar 2006 - 15:42 Der er 12 kommentarer og
1 løsning

Hjælp til forespørgsel med wildcard

Hey

I en database, skal jeg have fundet alle forekomster inden for en given måned, uanset dagen i måneden.

Hvis jeg skal bruge en bestemt dag, kan jeg bruge SQL'en:
SELECT * FROM Sessions WHERE Dato = #01/01/2006#;

Jeg ville så mene at jeg blot kunne udskifte dagen med wildcard % så det bliver til:
SELECT * FROM Sessions WHERE Dato = #%%/01/2006#;

Den går dog ikke - Hvorfor ikke det? - Og hvordan gør jeg det så nemmest??

På forhånd tak
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:50 #1
Er det ikke ? der er wildcard i Access
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:51 #2
* repræsenterer et antal karakterer
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:52 #3
Like "a*" vil f.eks finde alle ord der starter med a
Avatar billede runberg Nybegynder
05. januar 2006 - 15:53 #4
Har lige prøvet med SELECT * FROM Sessions WHERE Dato = #??/01/2006#; og får stadig syntaks fejl. Mener nu altså også at det er '%' der er wildcard i acces, men kan da  tage fejl ...
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:57 #5
Så det er vel SELECT * FROM Sessions WHERE Dato LIKE '??/01/2006';
Avatar billede casjachan Nybegynder
05. januar 2006 - 15:58 #6
Er kolonnen dato defineret som tekst eller dato?
Avatar billede runberg Nybegynder
05. januar 2006 - 16:00 #7
Tæt på :o) ... har nu prøvet med følgende:
  SELECT * FROM Sessions WHERE Dato LIKE '??/01/2006';
  SELECT * FROM Sessions WHERE Dato LIKE '%%/01/2006';

I begge tilfælde melder den nu ikke længere nogen syntakt fejl, men den finder ikke nogen poster, til trods for at jeg ved at der er poser for januar 2006 ..
Avatar billede runberg Nybegynder
05. januar 2006 - 16:01 #8
Den er defineret som en dato.
Avatar billede casjachan Nybegynder
05. januar 2006 - 16:06 #9
Jeg har prøvet at lave en tabel med en kolonne defineret som dato. Min kolonne har formatet dd-mm-åååå, så min sql, der virker, hedder
SELECT * FROM Sessions WHERE Dato Like '??-01-2006';
Avatar billede runberg Nybegynder
05. januar 2006 - 16:06 #10
Ahh .. Sorry ... Af en eller anden grund viser den datoen anderledes end den gemmer den. Derfor virker:
SELECT * FROM Sessions WHERE Dato LIKE '01-??-2006'

Mens SELECT * FROM Sessions WHERE Dato LIKE '??-01-2006' ikke giver nogen resultater, idet der ikke var nogen Sessions oprettet den 1.

Smid et svar, og du får point.
Avatar billede casjachan Nybegynder
05. januar 2006 - 16:09 #11
hvis din dato vises med /, er det bare at skifte ud med dette tegn, tilsvarende hvis din databases datoformat er f.eks mm/dd/åååå, må det blive '01/??/2006'
Avatar billede casjachan Nybegynder
05. januar 2006 - 16:09 #12
svar og tak
Avatar billede runberg Nybegynder
06. januar 2006 - 09:28 #13
- mig der takker :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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