Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie wartości logicznej z daty porównaj w t-sql select

Nie bezpośrednio. Musisz użyć CASE, CAST oznacza, że ​​jest interpretowany jako logiczny przez kod klienta

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

Inne rozwiązanie, w którym oczekiwany jest jeden lub zero wierszy:

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. Wywołaj procedurę składowaną w SQL CTE

  2. Jak znaleźć granice grup ciągłych liczb sekwencyjnych?

  3. Wiele wartości kolumn w jednym wierszu

  4. Jak przekonwertować NVARCHAR oddzielony przecinkami na rekordy tabeli w SQL Server 2005?

  5. Błąd podczas konwertowania typów danych podczas importowania z programu Excel do programu SQL Server 2008