Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhiều ngày trong tuần được lưu trữ trong một trường

Những gì bạn đang xử lý được gọi là toán tử bitwise.

Đây là đọc tốt trên đó với các ví dụ đơn giản rõ ràng.

Để đầy đủ, đây là những gì bạn đang xem được chia nhỏ thành các cột cho mỗi ngày trong tuần.

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. T-SQL:Xuất sang tệp Excel mới

  2. cách phát hiện thời gian chờ của máy chủ sql từ ứng dụng .NET mà không sử dụng bắt Ngoại lệ

  3. Truy vấn SQL Server để tìm tất cả các tên cơ sở dữ liệu hiện tại

  4. Cách gọi thủ tục được lưu trữ với SQLAlchemy yêu cầu tham số Bảng kiểu do người dùng xác định

  5. Sql Server 2008 R2 Management Studio - không có Intellisense