Avatar billede bbe1379 Nybegynder
20. oktober 2003 - 22:53 Der er 10 kommentarer og
1 løsning

Fjern tidspunkt i SQL udtræk

G'aften,

jeg har et lille SQL problem i min ASP, men i kode-hajer kan garanteret hjælpe

I min DB (MS SQL) har jeg et datetime felt hvor dato+tidspunkt er indsat. Jeg har nu brug for at lave et udtræk kun baseret på dato, men kan sgu' ikke helt hitte ud af det.

Jeg har fundet frem til, at man med "Convert" kan ændre værdien i udtrækket, men jeg kan ikke få det til at virke.
Der er også en count, som sikkert komplicerer det lidt

Her er min sql:
stat_sql = "SELECT " & _
"Count(stat_loginIDX) AS stat_login_count " & _
"From stat_login " & _
"Where stat_login_date = " & formatdatetime(val,2)
set statRS = exeSQL(stat_sql)

jeg har uden held forsøgt med:
convert(char (10), stat_login_date, 105) AS conv_date = " & date2mssql(formatdatetime(val,2))
Avatar billede netro Nybegynder
20. oktober 2003 - 22:58 #1
"... Where convert(char(10), stat_login_date, 105) = '" & date2mssql(formatdatetime(val,2)) & "'"

Prøv det!
Avatar billede bbe1379 Nybegynder
20. oktober 2003 - 23:13 #2
hmm, OK - jeg havde bare ikke styr på syntaksen. Men fatter jeg da lidt af det. char(10) er datatypen feltet skal blive.

Hvad hvis jeg vil lave feltets type om fra dd/mm/yyyy hh:mm:ss -> dd/mm/yyyy
og søge ud fra en dato (f.eks. 24/12/2002)

Jeg har forsøgt convert(datetime,stat_login_date, 2) - men det virker ikke

Kan du fikse den?
Avatar billede netro Nybegynder
20. oktober 2003 - 23:17 #3
Ja...

Convert(varChar(12), stat_login_date, 103)

- returnerer dd/mm/yyyy

Eller:

Convert(varChar(12), stat_login_date, 106)

- returnerer dd/mm/yy
Avatar billede netro Nybegynder
20. oktober 2003 - 23:20 #4
Du kan se de øvrige muligheder i Books Online.
Avatar billede bbe1379 Nybegynder
20. oktober 2003 - 23:23 #5
ups jeg så sgu' forkert det er slet ikke "/" men "-" de skiller tallene ad
altså dd-mm-yyyy

Hvorfor bevarer du ikke datatypen som datetime?
Avatar billede bbe1379 Nybegynder
20. oktober 2003 - 23:23 #6
Books Online ?
Avatar billede netro Nybegynder
20. oktober 2003 - 23:26 #7
Den findes gennem Enterprise Manager.

Glem nr. 106's syntaks. Det var mig, der huskede galt.

Du skulle jo bare bruge datoen, ik'?

Convert(Char(10), stat_login_date, 105)

- giver dig netop formatet dd-mm-yy.
Avatar billede bbe1379 Nybegynder
20. oktober 2003 - 23:30 #8
...jo det er bare datoen - jeg var bare nysgerrig :)
Det virker - takker!
Avatar billede netro Nybegynder
20. oktober 2003 - 23:37 #9
Okay, så lægger jeg et svar. Du kan lige få listen fra Books Online til en anden gang.

Without century (yy) With century (yyyy)
Standard
Input/Output**
- 0 or 100 (*)  Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 or 109 (*)  Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 (*)  Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (*)  ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (*)  ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
- 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM
- 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM
Avatar billede netro Nybegynder
20. oktober 2003 - 23:37 #10
Ikke videre pæn opstilling, men håber du kan tyde det ;o)
Avatar billede bbe1379 Nybegynder
21. oktober 2003 - 08:26 #11
Det er helt perfekt. Takker!
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