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 回答