if((isnull(@value,''))='')
Я хочу знать, работает ли приведенный выше фрагмент кода при проверке, является ли переменная нулевой или пустой.
if((isnull(@value,''))='')
Я хочу знать, работает ли приведенный выше фрагмент кода при проверке, является ли переменная нулевой или пустой.
Да, этот код делает именно это.
Вы также можете использовать:
if (@value is null or @value = '')
С добавленной информацией о том, что @value
является значением int
, вместо этого вам понадобятся:
if (@value is null)
Значение int
никогда не может содержать значение ''
.
len
возвращает ноль, а не ноль.
- person Guffa; 05.07.2021
Используйте этот способ лучше
if LEN(ISNULL(@Value,''))=0
Отметьте поле empty
или NULL
Да, вы также можете использовать 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
Да, это работает. Посмотрите пример ниже. Предполагая, что @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
Попробуй это:
ISNULL(IIF (ColunmValue!='',ColunmValue, 'no units exists') , 'no units exists') AS 'ColunmValueName'
Ты можешь попробовать
<column_name> is null
в предложении where
.
Вы можете попробовать это .....
DECLARE @value Varchar(100)=NULL
IF(@value = '' OR @value IS NULL)
BEGIN
select 1
END
ELSE
BEGIN
select 0
END
@value
. - person Joachim Isaksson   schedule 18.04.2013INT
, поэтому нет необходимости проверять в этом случае, действительно ли типINT
. - person Joachim Isaksson   schedule 18.04.2013