web-dev-qa-db-ja.com

文字列変数のヌルまたは空のチェック

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

上記のコードが、変数がnullまたは空かどうかをチェックする際に機能するかどうかを知りたいです。

22
Bharath

はい、そのコードはまさにそれを行います。

以下も使用できます。

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

編集:

@valueint値であるという追加情報を使用して、代わりに以下が必要です。

if (@value is null)

intの値に''の値を含めることはできません。

36
Guffa

この方法を使用する方が良い

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

これは、フィールドがemptyまたはNULLであることを確認します

9
AnasChavadi

はい、ANSI SQL標準に基づくCOALESCE(@value,'')=''を使用することもできます。

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

[〜#〜] demo [〜#〜]

7
Tim Schmelter

これを試して:

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

はい、動作します。以下の例を確認してください。 @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
1
bvr

これを試すことができます.....

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

あなたが試すことができます

<column_name> is null

where句で。

0
Fahad Akbar