0

SQL Server 2012 を使用しています。T-SQL は初めてです。

tblEmp一部の従業員の電話番号が NULL であるというテーブルがあります。

これらすべてのデータを句を使用して新しいテーブルにコピーしたいのですINTOが、新しいテーブルでは、すべての NULL 電話番号を文字列 'NA' に置き換える必要があります。

CASEこれは文でできると思います。

4

4 に答える 4

3
INSERT INTO NewTable(col1,col2,....)
SELECT case when phone_no is null then 'NA' else phone_no end,
   name,....
FROM tblEmp
于 2013-09-14T08:34:32.110 に答える
0

少し単純ですが (すべての列名を明示的に指定する必要はありません)、2 つのステップがあります。

select * into newTable from tblEmp
update newTable set phoneNo = 'NA' where phoneNo is null

まさにあなたが望んでいたものではないかもしれません。

于 2013-09-14T08:58:50.793 に答える
0

COALESCE ( http://sqlzoo.net/wiki/COALESCE ) を使用します。

COALESCE は任意の数の引数を取り、null でない最初の値を返します。COALESCE(x,y,z) = x が NULL でない場合は x COALESCE(x,y,z) = x が NULL で y が NULL でない場合は y COALESCE(x,y,z) = x と y が NULL の場合は z z は NULL ではありません

INSERT INTO tblEmp2(Column1, Column2, ...)
SELECT (COALESCE(tblEmp.phone, 'NA'), ...)
FROM tblEmp
于 2013-09-14T10:59:04.583 に答える