2016-04-14 1 views
2

私はマーク、マークのための条件を記述する方法条件は nullの場合私の問題はであるテーブルの等級postgresqlの空のセルに対してIsNullOrEmptyの条件を作る方法はありますか?

id   | Marks 
----------------+---------- 
    1   |  
    2   | 33 

for record in (select Marks from grades) 
loop 
marks=rec.Marks; 
if(marks is null) then 
    marks=0; 
end if; 
end loop; 

を持っているが、使用、値を変更するには整数型

+0

をCOALESCEすることができます検索でこれを変更したい場合は、データ、すなわちランを_change_しますか'update'ステートメント、またはあなただけの代わりに' null'なので –

+0

のゼロを表示したいん私はちょうど代わりShafi74 @ヌル – shafi7468

答えて

2

あなたはまた、CASEを使用するか、

SELECT col1, COALESCE(marks, 0) as MARKS from grades 

または

SELECT col1, CASE WHEN marks IS NULL THEN 0 ELSE marks END AS marks 
    FROM grades 
1

ですupdate声明:データを挿入するには

update grades 
    set marks = 0 
where marks is null; 

insert STAを使用合体とtement:

insert into temp_table (col1, marks) 
select col1, coalesce(marks, 0) 
from grades; 
+1

の0を作りたい:それは働いている何の 'SQL –

+0

if'inはありませんが、私は条件の助けを借りてそれを変更したい。私が言ったように:SQLクエリには、 'if'がないマークは同様に(マークがヌルである)、それは私がShafi74 @ PostgreSQLの – shafi7468

+0

に動作しない場合、私は、何を条件に置くことができる場合には、nullのどこに使用しています言語。また、ループで更新を行うことは、本当に悪い考えです。 – shafi7468

関連する問題