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)