Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да проверите дали низът не е нула и не е празен в SQL сървъра?

Ако искате само да съпоставите „“ като празен низ

WHERE DATALENGTH(COLUMN) > 0 

Ако искате да преброите всеки низ, състоящ се изцяло от интервали, като празен

WHERE COLUMN <> '' 

И двете няма да върнат NULL стойности, когато се използват в WHERE клауза. Като NULL ще се оцени като UNKNOWN за тези, а не TRUE .

CREATE TABLE T 
  ( 
     C VARCHAR(10) 
  ); 

INSERT INTO T 
VALUES      ('A'), 
            (''),
            ('    '), 
            (NULL); 

SELECT * 
FROM   T 
WHERE  C <> ''

Връща само един ред A . т.е. Редовете с NULL или празен низ или низ, състоящ се изцяло от интервали, всички са изключени от тази заявка.

SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PARSE() срещу TRY_PARSE() в SQL Server:Каква е разликата?

  2. Знайте как да възстановите изтрита таблица в SQL Server 2012 без архивиране

  3. острови и пропуски tsql

  4. Създайте график на агент на SQL Server с T-SQL

  5. Промяна на приоритета на акаунт в пощенски профил на база данни (SSMS)