Troxy Medlem sedan mars 2004 1 505 inlägg Frågan 28 sep. 2006 09:56 #1 Hejsan. Använder MSSQL. Kan man inte använda dayname-funktionen i ett case?
Den här frågan fungerar:
Select DayName(datum) FROM Artiklar
Men följande fråga ger "DAYNAME is not a recognized function name"
Select (Case DayName(datum) When 'Monday' Then 1 Else 0 End) as Test From Artiklar
:q
@nders Medlem sedan juni 2000 32 967 inlägg ... Case When DayName(datum) = 'Monday' Then ...
mvh
Troxy Medlem sedan mars 2004 1 505 inlägg Det vill sig inte ändå :/
Får fortfarande ett meddelande om att funktionen inte finns...
@nders Medlem sedan juni 2000 32 967 inlägg Är du säker på att den översta frågan fungerar?
Varken min SQL Server 2000 eller 2005 har en aning om vad DayName är för något överhuvudtaget.
Troxy Medlem sedan mars 2004 1 505 inlägg Ja, det är konstigt.
Den här frågan ger Thursday som svar.
Select DayName(GetDate()) As Dag
@nders Medlem sedan juni 2000 32 967 inlägg Hmm
Vilken version av SQL Server använder du?
(Jag kan förstå att den frågan fungerar i MySQL, men i SQL server tror jag du måste använda DatePart()...)
Troxy Medlem sedan mars 2004 1 505 inlägg SQL Server 2000.
Jag kan ju använda DatePart(w,GETDATE()) också. Men då får jag som svar att torsdag är dag 5 i veckan. Går det att få svenska veckor på något sätt?
@nders Medlem sedan juni 2000 32 967 inlägg Borde gå att få som du vill med SET DATEFIRST.
http://msdn2.microsoft.com/en-us/library/ms181598.aspx
- - - - -
Men hur DayName() kan fungera på din SQL Server 2000 men inte på min är en gåta (om det inte är en egen User defined function på din server).
Troxy Medlem sedan mars 2004 1 505 inlägg Kan de bero på att jag ställer frågorna i Enterprise Manager?
@nders Medlem sedan juni 2000 32 967 inlägg Aha, ja, där hände det ju lite konstigheter. :)
EM gör ju också en översättning, så detta borde i så fall fungera:
Select (Case When { fn DAYNAME(GETDATE()) } = 'Monday' Then 1 Else 0 End) as Test From Artiklar