webForumDet fria alternativet

Dayname i ett case?

Databaser & SQL

10 svar · 436 visningar · startad av Troxy

Medlem sedan mars 20041 505 inlägg
Frågan#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

Medlem sedan juni 200032 967 inlägg
#2
... Case When DayName(datum) = 'Monday' Then ...

mvh

Medlem sedan mars 20041 505 inlägg
#3

Det vill sig inte ändå :/
Får fortfarande ett meddelande om att funktionen inte finns...

Medlem sedan juni 200032 967 inlägg
#4

Ä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.

Medlem sedan mars 20041 505 inlägg
#5

Ja, det är konstigt.
Den här frågan ger Thursday som svar.

Select DayName(GetDate()) As Dag
Medlem sedan juni 200032 967 inlägg
#6

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()...)

Medlem sedan mars 20041 505 inlägg
#7

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?

Medlem sedan juni 200032 967 inlägg
#8

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).

Medlem sedan mars 20041 505 inlägg
#9

Kan de bero på att jag ställer frågorna i Enterprise Manager?

Medlem sedan juni 200032 967 inlägg
#10

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
Medlem sedan mars 20041 505 inlägg
#11

Tack för hjälpen (y)

306 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
168 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)