Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Няколко дни от седмицата, съхранени в едно поле

Това, с което имате работа, се нарича побитови оператори.

Ето един добро четене върху него с ясни прости примери.

За пълнота, ето това, което разглеждате, разбито по колони за всеки ден от седмицата.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Замяна на знаци в низ въз основа на редове в таблица sql

  2. Как да конфигурирате Microsoft® ODBC драйвер 11 за SQL Server® на RedHat Linux с PHP

  3. Преобразувайте DateTime в шестнадесетичен еквивалент във VB.NET

  4. Създаване на потребител в база данни на Azure SQL с помощта на функции на Azure?

  5. Вложени транзакции в Sql сървър