Нулевая или пустая проверка строковой переменной
if((isnull(@value,''))='')
Я хочу знать, работает ли вышеуказанный кусок кода при проверке, является ли эта переменная пустой или пустой.
Ответы
Ответ 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