2012-02-15 12 views
0

ここに質問します。列の1つにデータがない場合、行をスキップするかどうかを判断するストアドプロシージャを作成しています。ストアドプロシージャでデータが見つからない場合は、フィールドをスキップ

例:テーブル名:従業員

Employee No | Employee Name | Card No | Salary 
1   | test 1  | 123  | 
2   | Simon   |   | 2000   
3   |    | 456  | 4000 
4   | test3   | 342  | 5000 
5   |    | null | 3000 

それだけemployeeno = 4name = test3card no = 3432salary = 5000で完全なデータを持つ行を読み込みます。

+0

編集用のテーブル..テーブルとして作る方法、美しさ –

答えて

0

は、例えば

SELECT * 
    FROM Employee 
WHERE EmployeeNo IS NOT NULL 
    AND EmployeeName IS NOT NULL 
    AND CardNo IS NOT NULL 
    AND Salary IS NOT NULL 
1

使用IS NOT NULLLEN()をフィルタ を使用します。

はこれを試してみてください。

SELECT * 
FROM Employee 
WHERE (EmployeeNo IS NOT NULL OR LEN(EmployeeNo) > 0) AND 
     (EmployeeName IS NOT NULL OR LEN(EmployeeName) > 0) AND 
     (CardNo IS NOT NULL OR LEN(CardNo) > 0) AND 
     (Salary IS NOT NULL OR LEN(Salary) > 0) 
1

あなたは(ISNULL使用することができます)のように:

SELECT * 
    FROM Employee 
WHERE 
    ISNULL(EmployeeNo,'') != '' 
    AND ISNULL(EmployeeName,'') != '' 
    AND ISNULL(CardNo, '') != '' 
    AND ISNULL(Salary, '') != '' 

それは '' nullのためのケースの両方をチェックします。

関連する問題