SQL Server에서 문자열이 Null이 아니거나 비어 있지 않은지 확인하는 방법
SQL Server 체크인 방법WHERE컬럼이 null이 아닌지와 빈 문자열이 아닌지를 나타냅니다( ).'')?
빈 문자열로 "만 일치시키려면
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또는 빈 문자열 또는 공백으로만 구성된 문자열은 모두 이 쿼리에 의해 제외됩니다.
WHERE NULLIF(your_column, '') IS NOT NULL
요즘(4.5년)에는 사람이 읽기 쉽게 하기 위해
WHERE your_column <> ''
무효수표를 분명히 하고 싶은 유혹이 있지만...
WHERE your_column <> ''
AND your_column IS NOT NULL
@Martin Smith가 수용된 답변에서 보여준 것처럼, 실제로는 아무것도 추가되지 않습니다(그리고 저는 개인적으로 SQL Null을 완전히 피하고 있기 때문에, 어쨌든 저는 적용되지 않습니다).
기본적인 방법으로
SELECT *
FROM [TableName]
WHERE column_name!='' AND column_name IS NOT NULL
이들 중 하나를 사용하여 null, 공백 및 빈 문자열을 확인할 수 있습니다.
WHERE COLUMN <> ''
WHERE LEN(COLUMN) > 0
WHERE NULLIF(LTRIM(RTRIM(COLUMN)), '') IS NOT NULL
병합은 null을 기본값으로 접습니다.
COALESCE (fieldName, '') <> ''
인덱스 친화적인 방법은 다음과 같습니다.
where (field is not null and field <> '')
행이 많지 않거나 이 필드가 색인화되지 않은 경우 다음을 사용할 수 있습니다.
where isnull(field,'') <> ''
확인만 하면 됩니다.여기서 value > " --null도 아니고 공백도 아닙니다.
-- COLUMN CONTAINS A VALUE (ie string not null and not empty) :
-- (note: "<>" gives a different result than ">")
select iif(null > '', 'true', 'false'); -- false (null)
select iif('' > '', 'true', 'false'); -- false (empty string)
select iif(' ' > '', 'true', 'false'); -- false (space)
select iif(' ' > '', 'true', 'false'); -- false (tab)
select iif('
' > '', 'true', 'false'); -- false (newline)
select iif('xxx' > '', 'true', 'false'); -- true
--
--
-- NOTE - test that tab and newline is processed as expected:
select 'x x' -- tab
select 'x
x' -- newline
어떤 이유로 인해 데이터 길이가 8인 NULL 값이 지정됩니다.그것이 바로 위에서 언급한 것 중 어느 것도 효과가 없는 것처럼 보인 이유이다.같은 문제가 발생했을 경우는, 다음의 코드를 사용해 주세요.
--Check the length of your NULL values
SELECT DATALENGTH(COLUMN) as length_column
FROM your_table
--Filter the length of your NULL values (8 is used as example)
WHERE DATALENGTH(COLUMN) > 8
Ph != ' 및 Ph = '123456780'인 경우 이 방법을 확인한다.
언급URL : https://stackoverflow.com/questions/8660203/how-to-check-for-is-not-null-and-is-not-empty-string-in-sql-server
'programing' 카테고리의 다른 글
| NSInvalid Unarchive 조작예외:NSLayoutConstraint라는 이름의 클래스를 인스턴스화할 수 없습니다. (0) | 2023.04.19 |
|---|---|
| VBA에서 클래스를 사용하면 어떤 이점이 있습니까? (0) | 2023.04.19 |
| 콘텐츠에 맞게 UITableView 크기 조정 (0) | 2023.04.19 |
| DateTime 데이터베이스 필드를 "지금"으로 설정합니다. (0) | 2023.04.19 |
| 영구 PowerShell 별칭 생성 방법 (0) | 2023.04.19 |