Avatar billede chanfan Nybegynder
09. november 2000 - 15:16 Der er 10 kommentarer og
1 løsning

Dato selektering i SQL

Jeg har en database med bl.a. datoer i feltet DATO i dette format: 13-09-00 20:34:21

Jeg skal så trække alle records ud indenfor et bestemt tidsinterval. Hvordan skal FraDag og TilDag se ud, og hvordan skal SELECT-sætningen se ud?
Nu ser den sådan ud:
SET rs = WebLogconn.execute (\"SELECT COUNT(*) FROM log_T WHERE dato >\"&FraDag&\" and dag<\" & TilDag\")
, men den vælger intet ud!
Avatar billede chanfan Nybegynder
09. november 2000 - 15:19 #1
Det sidste felt hedder selvfølgelig også DATO, og ikke DAG
Avatar billede ortrak Nybegynder
09. november 2000 - 15:21 #2
SQL= \"SELECT * FROM log_T WHERE dato BETWEEN \'\" & FraDag &\"\' And \'\" & TilDag & \"\'\"


/ortrak
Avatar billede tdaugaard Nybegynder
09. november 2000 - 15:21 #3
FraDag & TilDag skal se ud ligesom formatet på feltet.

SQL sætningen er god nok.

FraDag = DateAdd(\"d\", 14, Now) \' lægger 14 dage til nuværende dato
Avatar billede tdaugaard Nybegynder
09. november 2000 - 15:23 #4
ortrak:> ski\' smart med BETWEEN ...
Avatar billede chanfan Nybegynder
09. november 2000 - 15:30 #5
ortrak:\\>Hvis jeg gør sådan:

FraDag = \"12-09-00 00:00:00\"
TilDag = \"14-09-00 00:00:00\"

får jeg denne fejl:

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

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \'00\'.

Hvis jeg bruger:

FraDag = \"12-09-00\"
TilDag = \"14-09-00\"

finder den INGEN data...
Avatar billede tdaugaard Nybegynder
09. november 2000 - 15:38 #6
SQL= \"SELECT * FROM log_T WHERE dato BETWEEN #\" & FraDag &\"# AND #\" & TilDag & \"#;\" 

?
Avatar billede chanfan Nybegynder
09. november 2000 - 15:46 #7
STADIG:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \'00\'.

Jeg bruger:
FraDag = \"12-09-00 00:00:00\"
TilDag = \"14-09-00 22:22:22\"
Avatar billede ortrak Nybegynder
09. november 2000 - 16:22 #8
man bruger kun havelåger(#) mht. datoer ved Access db.

Hvad er din datatype for dato?
datetime eller smalldatetime?


/ortrak
Avatar billede chanfan Nybegynder
27. november 2000 - 14:13 #9
Feltet er datetime.
Nogle ideer?
Avatar billede sp Nybegynder
27. november 2000 - 20:39 #10
Lav dit tids/dato -format om!
Det er ikke smart med mellemrum i formatet.
Response.Buffer=True
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db2409news.mdb\")

Function ConvertDate(dtmDate,intFormat)
\' intFormat kan have 2 værdier. 0 eller 1
\' 0 = Returnerer dato og tid
\' 1 = Returnerer kun dato

Months = right(\"00\" & DatePart(\"m\", dtmDate) ,2)
Days = right(\"00\" & DatePart(\"d\", dtmDate) ,2)
Hours = right(\"00\" & DatePart(\"h\", dtmDate) ,2)
Minutes = right(\"00\" & DatePart(\"n\", dtmDate) ,2)
Seconds = right(\"00\" & DatePart(\"s\", dtmDate) ,2)


OutDate = DatePart(\"yyyy\", dtmDate) & \"-\" & Months & \"-\" & Days
OutTime = Hours & \"-\" & Minutes & \"-\" & Seconds

If intFormat = 0 Then
    strOut = OutDate & \"-\" & OutTime
ElseIf intFormat = 1 Then
    strOut = OutDate
End If

ConvertDate = strOut
End Function

Timenow =ConvertDate(Now,1)
Timenow er et sammensat output
Avatar billede sp Nybegynder
27. november 2000 - 20:41 #11
Og ændr databasens felter til tekstformat.
Du kan tilmed også have et script som ændre tidligere postninger til det rigtige format og overfører dem evt. til en nyoprettet kollonne..
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