Je voudrais savoir comment utiliser NULL et une chaîne vide en même temps dans une WHERE
clause dans SQL Server. J'ai besoin de trouver des enregistrements qui ont des valeurs nulles ou une chaîne vide. Merci.
sql
sql-server
null
where
Poshan
la source
la source
Réponses:
Ou
la source
Vous pouvez simplement faire ceci:
la source
Si vous en avez besoin dans la section SELECT , vous pouvez utiliser comme ceci.
vous pouvez remplacer le
null
par votre valeur de substitution.la source
la source
ltrim
etrtrim
si le but est simplement de comparer à une chaîne vide. RAISON: s'il y a UNIQUEMENT des espaces, une seule garniture enlèvera tout. Par exemple, vous ne vous souciez pas de savoir si la comparaison échoue car ce qui reste est "abc" ou "abc".Pour trouver les lignes où se trouve col
NULL
, une chaîne vide ou un espace (espaces, tabulations):Pour trouver les lignes où se trouve col
NOT NULL
, une chaîne vide ou un espace (espaces, tabulations):la source
Quelques méthodes sargables ...
Et certains non sargables ...
la source
C'est moche MSSQL:
la source
ma meilleure solution:
COALESCE renvoie la première expr non nulle dans la liste d'expressions ().
si le fieldValue est nul ou une chaîne vide alors: nous retournerons le deuxième élément puis 0.
donc 0 est égal à 0, alors cette valeur de champ est une chaîne nulle ou vide.
en python par exemple:
bonne chance
la source
vous vérifiez null avec IS NULL et la chaîne vide avec LEN (RTRIM (LTRIM (Column))) = 0 in
la source
la source
la source
Vous pouvez utiliser la
isnull
fonction pour obtenir à la foisnull
les valeurs vides d'un champ de texte:la source
Vous pouvez examiner
''
commeNULL
en le convertissant enNULL
utilisantNULLIF
ou vous pouvez examiner
NULL
en''
utilisantSELECT ISNULL(NULL,'')
la source
Dans sproc, vous pouvez utiliser la condition suivante:
la source
par cette fonction:
et utilisez ceci:
dbo.isnull (valeur, 0)
la source
la source