Tôi có một trường int bitmasked trong cơ sở dữ liệu của mình. Thông thường tôi quản lý nó thông qua C# mã, nhưng bây giờ tôi cần phải lật một chút trong mặt nạ sử dụng T-SQLThao tác bit-lật trong T-SQL
Làm thế nào để thực hiện những điều sau:
Bit Tôi muốn lật: 1 < < 8 (256)
Mặt nạ trị trước khi tôi lật: 143
giá trị mặt nạ sau khi tôi lật: 399
Điều này có thể được thực hiện mà không có các toán tử bit bị thiếu trong T-SQL, đúng không?
cảm ơn! Nó giải quyết vấn đề của tôi! Có cách nào để bật bit một cách thanh lịch không? (Tôi đã làm nó, nhưng nó trông xấu xí ...) –
Bạn đang tìm cách lật hoặc bật? Lật - sử dụng XOR (^); bật - sử dụng OR (|). Nếu bạn muốn sang trọng hơn, bọc trong một chức năng được xác định bởi người dùng có tên. :) –