sql >> Database teknologi >  >> RDS >> Sqlserver

tæl antallet af kolonner, der har data for hver række

Pure Transact SQL (bruger ikke dynamisk SQL-kald, som ikke er en del af TSQL):

SELECT 
    CASE WHEN c1 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c2 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c3 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c4 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c5 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c6 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c7 IS NULL THEN 0 ELSE 1 END
  + CASE WHEN c8 IS NULL THEN 0 ELSE 1 END
FROM T


  1. MySQL DATETIME DIFF-forespørgsel

  2. CodeIgniter MSSQL-forbindelse

  3. Rails 3 ActiveRecord:UNION

  4. Optimering af GROUP BY + COUNT DISTINCT på ikke-indlejret jsonb-kolonne