Comment puis-je vérifier si un Serveur SQL server colonne de texte est vide?
Je suis à l'aide de SQL Server 2005. J'ai une table avec une colonne de texte et j'ai beaucoup de lignes de la table où la valeur de cette colonne n'est pas nul, mais il est vide. En essayant de comparer les contre " donne cette réponse:
Les types de données texte et varchar sont incompatibles dans le pas égal à l'opérateur.
Existe t il une fonction pour déterminer si la valeur d'une colonne de texte n'est pas nulle, mais vide?
- Je voudrais convertir le type de données si possible de type varchar (max), le texte a été désapprouvée - mieux commencer à faire les changements maintenant, si vous êtes de toucher la table. Vérifiez auprès de votre dba bien sûr. Mais plus les choses peuvent être convertis avant, ils doivent être convertis le mieux, c'est de ma pensée. Il dépend de la quantité de code que vous avez en utilisant des choses comme les contient et écrire le texte qui sera brisé que de le faire maintenant, mais j'ai le ramener, alors vous savez que cela va avoir besoin d'être changé par la suite.
Vous devez vous connecter pour publier un commentaire.
OR mytextfield IS NULL
lorsque votre colonne peuvent êtreNULL
mytextfield IS NULL *OR*
🙂En fait, il suffit d'utiliser l'opérateur LIKE.
Pour obtenir uniquement les valeurs vides (et pas les valeurs null):
À obtenir à la fois nulle et vide de valeurs:
Pour obtenir uniquement des valeurs nulles:
Pour obtenir des valeurs autres que nulle et vide:
Et n'oubliez pas les utiliser COMME des phrases seulement quand c'est nécessaire parce qu'ils vont dégrader les performances par rapport à d'autres types de recherches.
myColumn IS NOT NULL AND my column = '';
?Je sais que ce post est ancien mais j'ai trouvé utile.
Il n'a pas résolu mon problème de retour de l'enregistrement avec un non champ de texte vide alors j'ai pensé que je voudrais ajouter ma solution.
C'est la clause where qui a fonctionné pour moi.
Utiliser le EST NULL opérateur:
Utilisation DATALENGTH méthode, par exemple:
Je testerais contre Sous-CHAÎNE(textColumn, 0, 1)
Sont nuls et une chaîne vide équivalent? Si elles le sont, je dirais logique dans mon application (ou peut-être un déclencheur si l'application est "out-of-the-box"?) pour forcer le champ pour être null ou ", mais pas les autres. Si vous êtes allé avec ", vous pouvez alors régler la colonne de ne PAS NULL ainsi. Juste un data-propreté chose.
Je voulais avoir un texte prédéfini("Pas de Laboratoires Disponibles") pour être affiché si la valeur est null ou vide et mon ami m'a aidé avec cela:
Que vous avez à faire à la fois:
SELECT * FROM Table WHERE Text IS NULL or Text LIKE ''
Je sais qu'il ya beaucoup de réponses à d'autres solutions à ce problème, mais j'aimerais juste à rassembler tout ce que j'ai trouvé que la meilleure solution par @Eric Z Barbe & @Tim Cooper avec @Enrique Garcia & @Uli Köhler.
Si nécessaire pour composer avec le fait que l'espace-seulement pourrait-il être le même que le vide dans votre cas d'utilisation, car la requête ci-dessous sera de retour 1 et non 0.
Donc, je voudrais aller quelque chose comme:
essayez ceci:
j'espère aider u!
Au lieu d'utiliser
isnull
utiliser uncase
, en raison de la performance, il est préférable d'être le cas.Dans votre question que vous devez faire ceci:
Code comme ceci: