Подтвердить что ты не робот

Нулевая или пустая проверка строковой переменной

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

Я хочу знать, работает ли вышеуказанный кусок кода при проверке, является ли эта переменная пустой или пустой.

4b9b3361

Ответ 1

Да, этот код делает именно это.

Вы также можете использовать:

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

Edit:

С добавленной информацией, что @value является значением int, вам нужно вместо этого:

if (@value is null)

Значение int никогда не может содержать значение ''.

Ответ 2

Да, вы также можете использовать COALESCE(@value,'')='', который основан на стандарте ANSI SQL:

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

DEMO

Ответ 3

Использовать этот способ лучше

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

Это поле проверки empty или NULL

Ответ 4

Да, это работает. Проверьте приведенный ниже пример. Предполагая, что @value не 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

Результат:

IS_EMPTY
--------
empty
empty
123

Ответ 5

Попробуйте следующее:

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

Ответ 6

Вы можете попробовать

<column_name> is null

в предложении where.

Ответ 7

Вы можете попробовать это.....

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