[sql] SQL에서 NULL 또는 빈 문자열을 사용하는 방법

WHERESQL Server 의 절에서 NULL과 빈 문자열을 동시에 사용하는 방법을 알고 싶습니다 . null 값이나 빈 문자열이있는 레코드를 찾아야합니다. 감사.



답변

Select *
From Table
Where (col is null or col = '')

또는

Select *
From Table
Where IsNull(col, '') = ''


답변

당신은 단순히 이것을 할 수 있습니다 :

SELECT *
FROM   yourTable
WHERE  yourColumn IS NULL OR yourColumn = ''


답변

SELECT 섹션 에서 필요하면 다음 과 같이 사용할 수 있습니다.

    SELECT  ct.ID,
            ISNULL(NULLIF(ct.LaunchDate, ''), null) [LaunchDate]
    FROM    [dbo].[CustomerTable] ct

null대체 값으로를 대체 할 수 있습니다 .


답변

SELECT *
FROM   TableName
WHERE  columnNAme IS NULL OR
       LTRIM(RTRIM(columnName)) = ''


답변

col이 NULL빈 행 또는 공백 (공백, 탭) 인 행을 찾으려면 다음을 수행하십시오.

SELECT *
FROM table
WHERE ISNULL(LTRIM(RTRIM(col)),'')=''

col이 NOT NULL빈 행 또는 공백 (공백, 탭) 인 행을 찾으려면 다음을 수행하십시오.

SELECT *
FROM table
WHERE ISNULL(LTRIM(RTRIM(col)),'')<>''


답변

몇 가지 Sargable 메소드 …

SELECT *
FROM #T
WHERE SomeCol = '' OR SomeCol IS NULL;

SELECT *
FROM #T
WHERE SomeCol = ''
UNION ALL
SELECT *
FROM #T
WHERE  SomeCol IS NULL;

SELECT *
FROM #T
WHERE EXISTS ((SELECT NULL UNION SELECT '') INTERSECT SELECT SomeCol);

그리고 비파괴적인 것들 …

SELECT *
FROM #T
WHERE IIF(SomeCol <> '',0,1) = 1;

SELECT *
FROM #T
WHERE NULLIF(SomeCol,'') IS NULL;

SELECT *
FROM #T
WHERE ISNULL(SomeCol,'') = '';


답변

이것은 못생긴 MSSQL입니다.

CASE WHEN LTRIM(RTRIM(ISNULL([Address1], ''))) <> '' THEN [Address2] ELSE '' END