Estou usando o SQL Server 2005. Tenho uma tabela com uma coluna de texto e muitas linhas na tabela em que o valor dessa coluna não é nulo, mas está vazio. Tentar comparar com '' gera esta resposta:
Os tipos de dados text e varchar são incompatíveis no operador not equal to.
Existe uma função especial para determinar se o valor de uma coluna de texto não é nulo, mas vazio?
Respostas:
fonte
OR mytextfield IS NULL
ao seu coluna pode serNULL
mytextfield IS NULL *OR*
:-)fonte
Na verdade, você só precisa usar o operador LIKE.
fonte
Para obter apenas valores vazios (e não valores nulos):
Para obter valores nulos e vazios:
Para obter apenas valores nulos:
Para obter valores diferentes de nulo e vazio:
E lembre-se de usar frases LIKE apenas quando necessário, pois elas prejudicam o desempenho em comparação com outros tipos de pesquisas.
fonte
myColumn IS NOT NULL AND my column = '';
?Use o operador IS NULL:
fonte
fonte
SQL SELECT * FROM TABLE WHERE IFNULL(FIELD, '')=''
Eu sei que este post é antigo, mas achei útil.
Ele não resolveu meu problema de retornar o registro com um campo de texto não vazio, então pensei em adicionar minha solução.
Esta é a cláusula where que funcionou para mim.
fonte
Use o método DATALENGTH , por exemplo:
fonte
Eu testaria contra SUBSTRING (textColumn, 0, 1)
fonte
Nulo e uma string vazia são equivalentes? Se estiverem, eu incluiria lógica no meu aplicativo (ou talvez um gatilho se o aplicativo for "pronto para uso"?) Para forçar o campo a ser nulo ou '', mas não o outro. Se você optou por '', também poderá definir a coluna como NÃO NULL. Apenas uma coisa de limpeza de dados.
fonte
Eu queria que um texto predefinido ("Nenhum laboratório disponível") fosse exibido se o valor fosse nulo ou vazio e meu amigo me ajudou com isso:
fonte
Você precisa fazer as duas coisas:
SELECT * FROM Table WHERE Text IS NULL or Text LIKE ''
fonte
Sei que há muitas respostas com alternativas para esse problema, mas gostaria de reunir o que encontrei como a melhor solução de @Eric Z Beard e @Tim Cooper com @Enrique Garcia & @Uli Köhler.
Se necessário, para lidar com o fato de que somente espaço pode ser o mesmo que vazio no cenário de casos de uso, porque a consulta abaixo retornará 1, e não 0.
Portanto, eu usaria algo como:
fonte
tente isto:
espero te ajudar!
fonte
Em vez de usar
isnull
use acase
, por causa do desempenho, é melhor o caso.No seu problema, você precisa fazer o seguinte:
Código como este:
fonte
fonte