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

Làm thế nào để tạo một cột xem KHÔNG ĐẦY ĐỦ

Bạn có thể đạt được những gì bạn muốn bằng cách sắp xếp lại truy vấn của mình một chút. Bí quyết là ISNULL phải ở bên ngoài trước khi SQL Server hiểu rằng giá trị kết quả không bao giờ có thể là NULL .

SELECT ISNULL(CAST(
    CASE Status
        WHEN 3 THEN 1  
        ELSE 0  
    END AS bit), 0) AS HasStatus  
FROM dbo.Product  

Một lý do khiến tôi thực sự thấy điều này hữu ích là khi sử dụng ORM và bạn không muốn giá trị kết quả được ánh xạ tới kiểu nullable. Nó có thể làm cho mọi thứ trở nên dễ dàng hơn nếu ứng dụng của bạn thấy giá trị không bao giờ có thể là giá trị rỗng. Sau đó, bạn không phải viết mã để xử lý các ngoại lệ rỗng, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không có tập hợp sao lưu nào được chọn để khôi phục SQL Server 2012

  2. SQL Loại bỏ các hàng gần như trùng lặp

  3. 2 cách tạo cơ sở dữ liệu trên máy chủ được liên kết bằng T-SQL

  4. Kết nối với SQL Server 2008 từ xa từ Windows Azure

  5. sao chép giữa hai bảng có tên khác nhau và có tên cột khác nhau. Có thể tạo ra bản sao như vậy không