2017-09-01 6 views
0

カラム内の"TOTA"のすべての言い回しを何も置き換える必要がない場合は、次の概念を使用しますか?シンプルだけど、私が見つけたすべてのチュートリアルは、先週SQLを手に入れた人のための十分な英語ではありません。ブランクの値を持つSQLのカラムを更新する

Update Tablename 
set indcode =case when indcode in('TOTA', then 'blank' else 'leave it alone' End); 
+1

あなたも..'updateテーブルセットを働くだろう..thisを使用しているRDBMSのバージョンにタグを付けてくださいindcode = ''ここでindcode = 'tota'' – TheGameiswar

+0

またはケースを使用してください(ちょっと例を見てみましょう。このシナリオではもっと意味があります): 'set indcode = CASE WHEN indcode =' TOTA 'THERE NULL ELSE indcode END' – JNevill

答えて

1

あなたが割り当てブランク値

Update Tablename 
set indcode = NULL 
where indcode ='TOTA'; 

にnullに設定されており、フィルタの行が

を更新するために、どこがINを使用することができますが、フィルタの値のセットが必要な場合は使用する必要があります句の例

Update Tablename 
set indcode = NULL 
where indcode in ('TOTA', '0', '000000'); 

または複雑な場合のために、あなたはケースを使用することができます。..

Update Tablename 
set indcode = case when 'TOTA' then NULL 
        when '0' then '000000' 
        else indcode 
        END 
+0

indcodeが "000000"でなく "0"である必要がある場合、どのように指定するのですか? –

+1

どこですか?あなたはindcode in( 'TOTA'、 '0'、 "000000")の値を更新する必要がありますか?これが必要な場合は、答えはすでに更新されています – scaisEdge

+0

最後の質問を編集しました。私はちょっと落ち着く必要がある。 –

1

等号と閉じ括弧が欠けていて、空の文字列ではなく空白の文字列に更新したとします。最後に、それを更新するかどうかを決定する必要がありますすべてのリレーショナルデータベースで、値が分かっていないか、または指定されていないことを表します(空で長さがゼロの文字列ではなく、空の長さがゼロの文字列)。 。)

書き込み、空(長さゼロ)の文字列にアップデートするには」

Update Tablename 
     set indcode = case when indcode = 'TOTA' then '' 
         else indcode end; 

しかし、あなたは本当にあなたが本当にヌルにそれを更新したい、としないようにした場合、これだけという述語式

Update Tablename 
     set indcode = '' 
    Where indcode = 'TOTA' 

でフィルタ(句)を追加し、放置するものを更新する必要はありません空の文字列は、最初のチェックと列indCodeがNULLを許可するように設定されていることを確認し、書き込み:

Update Tablename 
     set indcode = Null 
    Where indcode = 'TOTA' 
関連する問題