sql >> Database >  >> RDS >> Sqlserver

Meerdere dagen van de week opgeslagen in één veld

Waar je mee te maken hebt, worden bitsgewijze operators genoemd.

Hier is een goed gelezen erop met duidelijke eenvoudige voorbeelden.

Voor de volledigheid:hier is wat je bekijkt, opgesplitst in kolommen voor elke dag van de week.

DECLARE @bitwise TABLE (someValue TINYINT)

INSERT INTO @bitwise (someValue)
SELECT 1 UNION
SELECT 5 UNION
SELECT 127

SELECT someValue, CASE WHEN (1&someValue)=1 THEN 'SUNDAY' END
                , CASE WHEN (2&someValue)=2 THEN 'MONDAY' END
                , CASE WHEN (4&someValue)=4 THEN 'TUESDAY' END
                , CASE WHEN (8&someValue)=8 THEN 'WEDNESDAY' END
                , CASE WHEN (16&someValue)=16 THEN 'THURSDAY' END
                , CASE WHEN (32&someValue)=32 THEN 'FRIDAY' END
                , CASE WHEN (64&someValue)=64 THEN 'SATURDAY' END

FROM @bitwise


  1. Hoe declareer je een array in MS SQL Server Stored Procedure?

  2. MySQL - ophalen van een HTML-tabel uit de database - backslashes vóór aanhalingsteken

  3. bereken de som van waarden die zijn gekoppeld aan overlappende perioden

  4. Manieren om te weten hoe om te gaan met databasecorruptie in SQL Server