我有一个出生日期字段,导入了一些错误,我试图纠正它们。我使用的查询基于ID更新DATE数据类型#
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,就如何解决这一问题的任何想法?
我有一个出生日期字段,导入了一些错误,我试图纠正它们。我使用的查询基于ID更新DATE数据类型#
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,就如何解决这一问题的任何想法?
你需要把一个单引号周围的日期:
UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
试着把你的日期放在单引号中。 SQL需要引号划定值开始的地方结束
UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
也许是这样的:
UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
我想这是一个语法错误。试试这个
UPDATE myTable
SET DOB='2012-04-10'
WHERE id=123456
我试过了,但它给了我转换数据和/或时间从字符串时的错误转换失败。但是,在设计视图中打开表并检查显示DOB是日期数据类型。 – wootscootinboogie 2012-04-10 13:55:16
什么样的数据类型是DOB列?
尝试
SET DOB = '2012/04/10'
而且最好的时候,您的更新只是柜面它粘在一个事务中。 Rollback拯救了我的屁股很多次。
我试过这个,当我得到这个错误读取: – wootscootinboogie 2012-04-10 13:52:06
你得到什么错误? – Taryn 2012-04-10 13:52:29
从字符串中转换日期和/或时间时转换失败。然而,DOB绝对是'日期'数据类型。 – wootscootinboogie 2012-04-10 13:52:54