Avatar billede superraider Nybegynder
06. september 2004 - 19:22 Der er 18 kommentarer og
1 løsning

SQL where uge lig med denne uge

Kan man lave sådan at, sqlsætningen tager de poster hvor kolonenavn=datoer  er lig med denne uge.

select * from tabel where datoer = denne uge. 

datoformatet i databasen er dd-mm-yyyy hh:mm:ss
Avatar billede arne_v Ekspert
06. september 2004 - 20:05 #1
Hvilken database ?
Avatar billede arne_v Ekspert
06. september 2004 - 20:07 #2
F.eks. MySQL:

... WHERE WEEK(feltnavn)=WEEK(CURDATE())
Avatar billede arne_v Ekspert
06. september 2004 - 20:09 #3
... WHERE YEARWEEK(feltnavn)=YEARWEEK(CURDATE())

må være bedre, da den kan håndtere data mere end et år tilbage
Avatar billede superraider Nybegynder
06. september 2004 - 20:11 #4
det er acces.  er curdate() en standart function i asp
Avatar billede arne_v Ekspert
06. september 2004 - 20:13 #5
Nej. Det er en MySQL specifik funktion.
Avatar billede superraider Nybegynder
06. september 2004 - 20:14 #6
SQL = "Select * from tips where yearweek(slutdato)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en ikke-defineret funktion "yearweek" i udtrykket.
Avatar billede arne_v Ekspert
06. september 2004 - 20:14 #7
Access må være noget a la:

... WHERE DATEPART("ww",feltnavn)=DATEPART("ww",DATE())

evt. kombineret med et tilsvarende test på "yyyy"
Avatar billede superraider Nybegynder
06. september 2004 - 20:16 #8
det er lige meget med store og små bogstaver ik
Avatar billede arne_v Ekspert
06. september 2004 - 20:16 #9
Ja.

Du skal bruge DATEPART i Access.

WEEKDAY er også MySQL specifikt.
Avatar billede arne_v Ekspert
06. september 2004 - 20:17 #10
Jo.

Jeg plejer at skrive keywords og indbyggee funktioner med stort og mine
tabel og felt navne med småt.

Men det er udelukkende af hensyn til læsbarheden.
Avatar billede superraider Nybegynder
06. september 2004 - 20:18 #11
SQL = "Select * from tips WHERE DATEPART('ww',feltnavn)=DATEPART('ww',DATE())"
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
Avatar billede superraider Nybegynder
06. september 2004 - 20:19 #12
skulle lige ændre feltnavn til det rigtige. hvad hvis jeg også skulle have det der år med
Avatar billede arne_v Ekspert
06. september 2004 - 20:21 #13
... WHERE DATEPART("ww",feltnavn)=DATEPART("ww",DATE()) AND DATEPART("yyyy",feltnavn)=DATEPART("yyyy",DATE())
Avatar billede arne_v Ekspert
06. september 2004 - 20:22 #14
Og så er der en tredie parameter til DATEPART hvor du kan fortælle med hvilken ugedag
ugen starter !
Avatar billede superraider Nybegynder
06. september 2004 - 20:26 #15
den går vel ud fra at det er mandag, hvis ikke der er defineret noget. 
jeg laver en If not tips.BOF then  for at se om den finder noget, men der er ikke noget at fidne, men aligevel så skriver den det der står i else:
når jeg så tilføjer tips("slutdato") så koommer fejl med.
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'tips'
Avatar billede arne_v Ekspert
06. september 2004 - 20:34 #16
Min Access siger:

firstdayofweek Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed.
Avatar billede arne_v Ekspert
06. september 2004 - 20:35 #17
Fejlen kan jeg ikke helt gennemskue.
Avatar billede superraider Nybegynder
06. september 2004 - 20:46 #18
ok, svar og du for point, trorr jeg finder en anden løsninge, der komemr ikke til at virke optimalt
Avatar billede arne_v Ekspert
06. september 2004 - 20:51 #19
ok
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
Kurser inden for grundlæggende programmering

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