[sql] SQL에서 NULL 또는 빈 문자열을 사용하는 방법
WHERE
SQL 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