2012-04-10 10 views
2

いくつかのエラーでインポートされた生年月日フィールドがありますが、修正しようとしています。私は、クエリIDに基づいたDATEデータ型の更新#

UPDATE myTable 
SET DOB=2012-04-10 
WHERE id=123456 

を使用していると私は、SQL Serverにこの問題を解決する方法上の任意のアイデアを。これは、私には十分に論理的と思われる

Msg 206, Level 16, Line 1 
Operand type clash: int is incompatible with date 

エラーを取得しますが、ないのですか?

答えて

2

あなたは日付の周りにアポストロフィを配置する必要があります:SQL値はこのような何かを始め、たぶん

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
+0

私はこれを試しましたが、このエラーが表示されます: – wootscootinboogie

+0

あなたはどんなエラーを受けていますか? – Taryn

+0

文字列から日付および/または時刻を変換するときに変換に失敗しました。しかし、DOBは 'date'データ型であることが最も確実です。 – wootscootinboogie

1

一重引用符で日付を入力してください。私が思う

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
2

を終了する場所を描写するために引用符を必要としますそれは構文エラーです。試してみてください

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
2

UPDATE myTable 
SET DOB='2012-04-10' 
WHERE id=123456 
+0

私はそれを試しましたが、それは私にエラーの変換が文字列からデータや時間を変換するときに失敗しました。ただし、デザインビューでテーブルを開いてチェックすると、日付データ型のDOB ISが表示されます。 – wootscootinboogie

1

どのようなデータ型のDOB列ですか?

は、ときに更新がちょうど包み取引でそれを固執するのが最善また

SET DOB = '2012/04/10' 

を試してみてください。ロールバックは何度も私のお尻を救ってくれました。

関連する問題