Datumformatering

Databaser & SQL

3 svar · 472 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Trådstart#1

Hej.

Jag har en tabell med nyheter. Varje nyhet har ett långt datum, d.v.s. YYYY-MM-DD HH:MM:SS.

När jag vill hämta de dagar det finns nyheter i en månad skriver jag:

"SELECT DISTINCT Left(Datum,10) AS datte FROM Kalender WHERE Left(Datum,7) = '" & Left(datum,7) & "'"

Problemet är att servern har annat datumformat, det där förbannade DD/MM/YYYY eller om det är omvänd ordning... Jag har använt lcid = 1053 men detta påverkar tyvärr inte SQL-satserna (däremot övrig ASP kod).

Jag kan ju heller inte skapa en egen datumformatering (egen funktion) som jag skriver istället för Left(datum,10). Då klagar den.

Min fråga är om jag kan lösa detta på något annat sätt.

Medlem sedan dec. 20025 483 inlägg
#2

Eftersom du inte nämner vilket DBMS antar jag SQL Server:

SELECT DISTINCT cast(convert(datetime, datum, 120) as char(10)) AS datte FROM Kalender WHERE cast(convert(datetime, datum, 120) as char(7)) = '" & Left(datum,7) & "'
Medlem sedan aug. 2002733 inlägg
#3

Sorry :( Jag använder Access.

Medlem sedan dec. 20025 483 inlägg
#4
"SELECT DISTINCT Format(Datum, 'yyyy-mm-dd') AS datte FROM Kalender WHERE Format(Datum, 'yyyy-mm') = '" & Left(datum,7) & "'"
1171 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
1046 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
1045 ms — ändringar (db)