[sql-server] SQL Server 텍스트 열이 비어 있는지 어떻게 확인합니까?

SQL Server 2005를 사용하고 있습니다. 텍스트 열이있는 테이블이 있고이 열의 값이 null이 아니지만 비어있는 테이블에 많은 행이 있습니다. ”와 비교하려고하면 다음과 같은 응답이 나타납니다.

text 및 varchar 데이터 형식이 연산자와 같지 않습니다.

텍스트 열의 값이 null이 아니고 비어 있는지 확인하는 특수 함수가 있습니까?



답변

where datalength(mytextfield)=0


답변

ISNULL(
case textcolum1
    WHEN '' THEN NULL
    ELSE textcolum1
END
,textcolum2) textcolum1


답변

실제로는 LIKE 연산자 만 사용해야합니다.

SELECT * FROM mytable WHERE mytextfield LIKE ''


답변

빈 값만 얻으려면 (널 값은 아님) :

SELECT * FROM myTable WHERE myColumn = ''

null 값과 빈 값을 모두 얻으려면

SELECT * FROM myTable WHERE myColumn IS NULL OR myColumn = ''

null 값만 가져 오려면

SELECT * FROM myTable WHERE myColumn IS NULL

null 이외의 값을 얻으려면 :

SELECT * FROM myTable WHERE myColumn <> ''

LIKE 문구는 다른 유형의 검색에 비해 성능이 저하되므로 필요할 때만 사용해야합니다.


답변

IS NULL 연산자를 사용하십시오.

Select * from tb_Employee where ename is null


답변

SELECT * FROM TABLE
WHERE ISNULL(FIELD, '')=''


답변

이 게시물이 고대인 것을 알고 있지만 유용하다고 생각했습니다.

빈 텍스트 필드가 아닌 레코드를 반환하는 문제를 해결하지 못하여 솔루션을 추가 할 것이라고 생각했습니다.

이것은 나를 위해 일한 where 절입니다.

WHERE xyz LIKE CAST('% %' as text)