2016-07-19 43 views
1

これは初めてのことです。このスクリプトを実行して、空白の列を108で更新します。列はnumeric(18, 0)に設定されています。なぜ私はこのメッセージを受けているのですか?データ型varcharを数値に変換中にエラーが発生しました(初心者)

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID ='' 
+1

メモとして、使用しているSQLの「フレーバー」にタグを付ける必要があります。 "SQL"には、MySQL、MSSQL、Sybaseなどが含まれています...また、以下の答えは正しいです。 'ScheduleID = '''を実行すると、ScheduleIDと文字列を比較します。 「ScheduleIDがNULLの場所」を試してください。 –

+0

ありがとうございます –

答えて

1

ScheduleIDnumeric(18, 0)に設定されているヌルですが、ScheduleIDがempry文字列に等しいすべてのレコードを検索してみてください:where ScheduleID =''を。

使用IS NULL代わり

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID IS NULL 
2

分野のだろうが

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID is null 
0

あなたがテーブルのスキーマを投稿する必要があります。私の仮定ScheduleIDは数字です。数値であるため、ScheduleIDは空白ではありません。数字はnumeric MSDNです。私の前提はnullです。numeric列を作成し、nullであるかどうかを指定しないと、これがデフォルト値であるためです。ラインの下のいくつかの理由で、数値データ型を取り、空の文字列として扱うか、特定の値を文字列に変更する必要があるので、もしあなたが行う必要があります何ができた、

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID is null 
+0

ありがとうございます。それは –

+0

@ジョンモリーナがやったことをうまくいった! – gh9

0

ですISNULL(ScheduleID、 '')= ''のようなものを使用してください。他の人が言ったように、 "ヌルです"はちょうどうまくいくでしょう、それをするもう一つの方法です。

関連する問題