Avatar billede ml Nybegynder
22. februar 2001 - 16:03 Der er 12 kommentarer og
1 løsning

datediff og MS SQL

Siden jeg konverterede til MS SQL har denne ikke virket:

SQL = \"Select count(*) as Antal FROM data WHERE datediff(\'d\', Now(), time) = 0\"

- fejlen:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid parameter 1 specified for datediff.

/admin/main.asp, line 36

- eller hvis jeg fjerner \'\':

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name \'date\'.

/admin/main.asp, line 36

Jeg har prøvet en masse men der er intet der virker. Time er navnet på det felt hvori datoen for oprettelse står.
Avatar billede kasseper Nybegynder
22. februar 2001 - 16:10 #1
time er et reserveret ord i TSQL, så prøv at lave det om til timer eller what ever..;)
Avatar billede ml Nybegynder
22. februar 2001 - 16:14 #2
Det er bare en bitch at rename en kolonne i en ms sql database, kan jeg ikke gøre det på en anden måde?
Avatar billede kasseper Nybegynder
22. februar 2001 - 16:15 #3
Øhhh nej, den vil brokke sig uanset hvad...
Det er da ingen sag at rename i MSSQL ????!!!???
Avatar billede ml Nybegynder
22. februar 2001 - 16:18 #4
Hvordan renamer jeg ? - Jeg har ikke fysisk adgang til serveren. Så det skal ske via komandoer..
Avatar billede soerens Nybegynder
22. februar 2001 - 16:27 #5
Jeg mener d\'et skal være uden plinger, altså:

DATEDIFF(d, NOW(), time)

/SørenS
Avatar billede soerens Nybegynder
22. februar 2001 - 16:29 #6
...det SKAL være uden plinger, slog det lige op i SQL Books ;-)

Du kan skrive både day, dd og d. Alt sammen skal være uden plinger.

/SørenS.
Avatar billede ml Nybegynder
22. februar 2001 - 16:42 #7
Med Now() får jeg:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]\'NOW\' is not a recognized function name.

/admin/main.asp, line 36
Avatar billede kasseper Nybegynder
22. februar 2001 - 16:48 #8
så prøv :
SQL = \"Select count(*) as Antal FROM data WHERE datediff(d, \'\" & Now() & \"\', time) = 0\"
Avatar billede soerens Nybegynder
22. februar 2001 - 16:49 #9
Nåååh, ja, en smutter fra min side ;-)

Prøv:

DATEDIFF(d, GETDATE(), time)

/SørenS.
Avatar billede ml Nybegynder
22. februar 2001 - 20:00 #10
soerens > 1000 tak...

kasseper > Godt jeg ikke renamede, og lavet det hele om ;)
Avatar billede soerens Nybegynder
23. februar 2001 - 08:51 #11
Np, jeg rendte selv ind i en masse problemer, dengang jeg gik fra Access til MS SQL.

Jeg kan VARMT anbefale at du benytter SQL Books, som følger med en SQL server installation (kan også installeres \"stand-alone\").

Der står ALT muligt guf i den hjælpe-fil ;-)

/SørenS.

PS.: Point? ;-)
Avatar billede soerens Nybegynder
23. februar 2001 - 08:53 #12
Argh, glem det med pointene, dem HAR du jo givet mig, hehe.

Det er fredag morgen, godt det snart er weekend....

/SørenS.
Avatar billede gandalfthewhite Nybegynder
23. februar 2001 - 14:12 #13
I øvrigt kan det godt lade sig gøre at bruge reserverede ord som kolonne navne - selv om man selvfølgelig bør undgå det. Man skal bare huske at sætte [kolonnnavn] hardbrackets rundt om kolonnenavnet.
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