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

Lấy boolean từ so sánh ngày tháng trong t-sql select

Không trực tiếp. Bạn phải sử dụng CASE, CAST có nghĩa là nó được hiểu là boolean theo mã khách hàng

SELECT
    CAST(CASE WHEN expiry < getdate() THEN 1 ELSE 0 END AS bit) AS Expired
FROM
    MyTable WHERE (ID = 1)

Một giải pháp khác mà một hoặc không có hàng được mong đợi:

SELECT
    CAST(COUNT(*) AS bit) AS Expired   
FROM
    MyTable
WHERE
    ID = 1 AND expiry < getdate() 


  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ôi phục cơ sở dữ liệu từ chế độ khẩn cấp trong SQL Server

  2. Lưu trữ thời gian trong ngày trong SQL

  3. SSIS:Không thể chèn vào cột chỉ đọc <Tên cột>

  4. Cách sử dụng SqlTransaction trong C #

  5. Truyền trực tiếp đến cơ sở dữ liệu