2

いくつかのエラーでインポートされた生年月日フィールドがあり、それらを修正しようとしています。クエリを使用しています

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

そして、私はエラーが発生しています

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

これは私には十分に論理的に思えますが、SQL Server にはそうではありません。これを修正する方法について何か考えはありますか?

4

5 に答える 5

2

多分このようなもの:

UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
于 2012-04-10T13:48:51.057 に答える
2

日付をアポストロフィで囲む必要があります。

UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
于 2012-04-10T13:48:55.607 に答える
2

構文エラーだと思います。これを試して

UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
于 2012-04-10T13:49:14.940 に答える
1

日付を一重引用符で囲んでみてください。SQL では、値の開始位置と終了位置を示すために引用符が必要です

UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
于 2012-04-10T13:48:38.207 に答える
1

DOB列のデータ型は何ですか?

試す

SET DOB = '2012/04/10'

また、念のため、更新するときにトランザクションに貼り付けるのが最善です。ロールバックは私のお尻を何度も救ってくれました。

于 2012-04-10T13:50:25.087 に答える