Deutsche SQL Server Konferenz  minimieren 

Deutsche SQL Server Konferenz


Wochentag oder Wochenende?

Mai 9

Written by:
09.05.2009 07:23  RssIcon

Wochentag oder Wochenende?

Nichts weltbewegendes, aber manchmal braucht man die Antwort auf diese Frage (z.B. in Datawarehouse).

Das müsste schon die einfachste Variante sein.

-- Ist es Wochenende oder muss ich arbeiten?
SELECT d.Datum, DATENAME(dw, d.Datum) AS WochenTag,
      (DATEPART(dw, d.Datum) / 6) AS IstWochende,
      1 - (DATEPART(dw, d.Datum) / 6) AS IstWerktag
FROM (SELECT CONVERT(datetime, '20090118') AS Datum
      UNION ALL SELECT CONVERT(datetime, '20090117')
      UNION ALL SELECT CONVERT(datetime, '20090116')
      UNION ALL SELECT CONVERT(datetime, '20090115')
      UNION ALL SELECT CONVERT(datetime, '20090114')
      UNION ALL SELECT CONVERT(datetime, '20090113')
      UNION ALL SELECT CONVERT(datetime, '20090112')
      UNION ALL SELECT CONVERT(datetime, '20090111')
      UNION ALL SELECT CONVERT(datetime, '20090110')
      ) AS d
 
(Wochentag oder Wochenende?)

Tags:
Categories:

2 comment(s) so far...


Re: Wochentag oder Wochenende?

wie wär es noch mit der version für heute?
SELECT CONVERT(char,d.Datum,104) AS Datum, DATENAME(dw, d.Datum) AS WochenTag,
(DATEPART(dw, d.Datum) / 6) AS IstWochende,
1 - (DATEPART(dw, d.Datum) / 6) AS IstWerktag
FROM (SELECT CONVERT(datetime, getdate()) AS Datum
) AS d

By UliDD on   29.05.2009 18:31

Re: Wochentag oder Wochenende?

Hallo Olaf,

Dein Code ist abhängig von der Spacrh- bzw. DATEFIRST-Einstellung. Das kann zu Problemen führen, weil diese Einstellungen in der Verbindung festgelegt werden. Probier einmal das hier:

set language us_english
dbcc useroptions

DATEFIRST ist nun 7 und Dein Code funktioniert nicht mehr, da Du die Wochentagsnummern hart verdrahtest. Besser ist es so:

cast(case when (datepart(dw, Datum) + @@datefirst) % 7 = 1 then 1 else 0 end as bit) as IsWochenende

Viele Grüße,
Holger

By Vorsicht mit DATEFIRST on   02.06.2009 12:56

Your name:
Gravatar Preview
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Add Comment   abbrechen 
Unser Newsletter  minimieren 

Unseren aktuellen Newsletter im PDF-Format gibt es hier zum Download:

 Das Newsletterarchiv ist im Mitgliedsbereich zugänglich.

 


 


Suche  minimieren