webForumDet fria alternativet

Datumformatering

Databaser & SQLur Databashanterare & SQL

3 svar · 447 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Frågan#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) & "'"
131 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)