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

Trả về giá trị boolean từ một truy vấn chọn lọc

Từ phía SQL, bạn có thể làm:

SELECT field1, field2, CAST(1 AS BIT) AS is_field
FROM TABLE

để buộc nó phải được trả về dưới dạng BIT thay vì int. Điều đó sẽ thực hiện thủ thuật

Cập nhật: Mối quan tâm của bạn khi sử dụng CAST như thế này là gì? SQL Server khá tuyệt vời trong việc tối ưu hóa, ví dụ:kế hoạch thực thi cho truy vấn trên sẽ hiển thị is_field là một Hằng số có thể được đánh giá một lần trước (có một bài viết liên quan ở đây: http://msdn.microsoft.com/en-us/library/ms175933.aspx ). Ngay cả khi không có điều đó, nếu bạn lo lắng về hiệu suất, thì bạn không nên lo lắng về nó - nó rất có thể là tối ưu hóa quá sớm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểu dữ liệu dotNet gốc nào thích hợp nhất để truyền tải các giá trị SQL Server hierarchyId?

  2. Bảo mật tích hợp =Sai

  3. Làm tròn mili giây trong T-SQL

  4. Toán tử GIỮA so với> =VÀ <=:Có sự khác biệt về hiệu suất không?

  5. Công cụ khôi phục sao lưu SQL để sửa chữa bản sao lưu SQL bị hỏng - Đánh giá sản phẩm - Bài đăng của khách của Daniel Jones