web-dev-qa-db-fra.com

Vérification nulle ou vide pour une variable de chaîne

if((isnull(@value,''))='')

Je veux savoir si le code ci-dessus fonctionne pour vérifier si la variable est nulle ou vide. 

21
Bharath

Oui, ce code fait exactement cela.

Vous pouvez aussi utiliser:

if (@value is null or @value = '')

Modifier:

Avec l'information ajoutée que @value est une valeur int, vous devez plutôt:

if (@value is null)

Une valeur int ne peut jamais contenir la valeur ''.

34
Guffa

Utiliser de cette façon est mieux 

if LEN(ISNULL(@Value,''))=0              

Cette vérification du champ est empty ou NULL

9
AnasChavadi

Oui, vous pouvez également utiliser COALESCE(@value,'')='' qui est basé sur le standard ANSI SQL:

SELECT CASE WHEN COALESCE(@value,'')='' 
    THEN 'Yes, it is null or empty' ELSE 'No, not null or empty' 
    END AS IsNullOrEmpty

DÉMO

7
Rango

Essaye ça:

ISNULL(IIF (ColunmValue!='',ColunmValue, 'no units exists') , 'no units exists') AS 'ColunmValueName' 
1
milan

Oui cela fonctionne. Vérifiez l'exemple ci-dessous. En supposant que @value n'est pas int

WITH CTE 
AS
(
    SELECT NULL AS test
    UNION
    SELECT '' AS test
    UNION
    SELECT '123' AS test
)

SELECT 
    CASE WHEN isnull(test,'')='' THEN 'empty' ELSE test END AS IS_EMPTY 
FROM CTE

Résultat :

IS_EMPTY
--------
empty
empty
123
1
bvr

Vous pouvez essayer ceci .....

DECLARE @value Varchar(100)=NULL
IF(@value = '' OR @value IS NULL)
  BEGIN
    select 1
  END
ELSE
  BEGIN
    select 0
  END
0
Ajay Jamwal

Tu peux essayer

<column_name> is null

dans la clause where.

0
Fahad Akbar