Avatar billede graugart Nybegynder
03. august 2001 - 13:44 Der er 15 kommentarer og
1 løsning

sammenligning af dato fra databasen med \"idag\"

Jeg har en dato med tid (YYYY/MM/DD HH:MM:SS) i en mssql database, og så skal jeg lave et sql query hvor jeg kun udtrækker dem med den samme dato som idag, dvs at jeg altså på en måde skal have konverteret datoen i sql strengen til noget jeg kan sammenligne med evt date()?

Jeg havde forestillet mig noget lignende

\"...WHERE fraDateTimeTilYYMMDD(dateTime) = \" & Date()

Håber der er nogen der kan hjælpe

mvh

Christian Graugart
Avatar billede oswald Nybegynder
03. august 2001 - 13:53 #1

Avatar billede oswald Nybegynder
03. august 2001 - 13:53 #2
Sorry den kom lidt hurtigt. Prøv noget i stilen med.
Where (DATEDIFF (dd, getdate(), <Dit tidspunkt>) < 0)
Avatar billede oswald Nybegynder
03. august 2001 - 13:54 #3
Rettelse
Where (DATEDIFF (dd, getdate(), <Dit tidspunkt>) = 0)
Avatar billede graugart Nybegynder
03. august 2001 - 13:58 #4
får fejlmeddelelse ved denne:

(DATEDIFF(dd, getdate(), \" & date_created & \") = 0))

???
Avatar billede graugart Nybegynder
03. august 2001 - 14:00 #5
og

(DATEDIFF(dd, getdate(), \'\" & date_created & \"\') = 0))
Avatar billede oswald Nybegynder
03. august 2001 - 14:01 #6
Formatet af din date_created er sikkert forkert. Kan du ikke lave sammenligningen i den SQL hvor du henter datoen. Noget Ala.

Select * from bruger where Where (DATEDIFF (dd, getdate(), Opretteslse_dato) = 0)
Avatar billede oswald Nybegynder
03. august 2001 - 14:02 #7
Hvis du vil være sikker på at SQL serveren forstår den dato du skriver til den så skriv det i følgende format \'YYYYDDMM\'.
Avatar billede graugart Nybegynder
03. august 2001 - 14:04 #8
ok, men hvilken funktion kan konvertere en datetime til YYYYDDMM?
Avatar billede graugart Nybegynder
03. august 2001 - 14:05 #9
mener du ikke også YYYYMMDD?
Avatar billede oswald Nybegynder
03. august 2001 - 14:07 #10
I Asp kan det ikke gøres direkte. Istedet skal du gøre noget i stilen med.

SQLDato = CStr((Year(Dato) * 10000) + (Month(Dato) * 100) + (Day(Dato)))

Skide besværligt, jeg ved det, men det virker.
Avatar billede graugart Nybegynder
03. august 2001 - 14:09 #11
ja men problemet er at datoen ligger i databasen, så det skal vel gøres i sql?

SELECT * FROM table WHERE (DATEDIFF(dd, GETDATE(), [table_med_dato]) = 0))

Den er lidt kringlet...
Avatar billede graugart Nybegynder
03. august 2001 - 14:09 #12
det skulle selvfølgelig være række_med_dato :)
Avatar billede oswald Nybegynder
03. august 2001 - 14:11 #13
Nåår ok. Jeg undrede mig også lidt over at du ville tage datoen fra ASP. Så skal du gøre som jeg skrev lidt tidligere.

Select * from <Tabel> where Where (DATEDIFF (dd, getdate(), <dato>) = 0)

Hvor <Tabel> er den tabel du vil søge i og <dato> er det felt i tabellen der indeholder datoen du vil sammenligne med.

Og jo, du har ret. jeg mener YYYYMMDD. ;)
Avatar billede graugart Nybegynder
03. august 2001 - 14:15 #14
jaaa endelig fik jeg det til at virke, sikken et rod :)

tak for hjælpen :)
Avatar billede graugart Nybegynder
03. august 2001 - 14:15 #15
hov har jeg allerede givet dig pointene? Jeg kan i hvert fald ikke give dem nu, så det må jeg ha gjort... hmmm...
Avatar billede oswald Nybegynder
03. august 2001 - 14:24 #16
Ja, du slap dem ret hurtigt ;). Men du skal være velkommen, jeg mangler stadig at få ca 500 points som andre skylder mig så det er rart at nogle er hurtige på aftrækkeren. :)
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