SQL Server 2008 - 尝试编辑日期 - 语法错误?

时间:2013-05-09 16:37:27

标签: sql sql-server-2008 syntax-error

我有一个具有startDate和endDate的数据库。我试图运行这个简单的脚本来查找和替换某些日期。这是我的剧本:

SET startDate = '2012-10-11 07:00'
AND
endDate = '2012-10-13 20:00'

where startDate = '2012-10-12 07:00'
AND
endDate = '2012-10-14 20:00'

我运行它并收到此错误:

Incorrect syntax near '='.: SET startDate => '2012-10-11 07:00' AND endDate = '2012-10-13 20:00' where startDate = '2012-10-12 07:00' AND endDate = '2012-10-14 20:00'

我真的不知道为什么它没有正确运行,但希望你们中的一个聪明的人在这里能够指出我难以置信的愚蠢错误!

这是希望! = 0)

1 个答案:

答案 0 :(得分:1)

您需要将列分隔为使用逗号进行更新,而不是AND

UPDATE  YourTable
SET     startDate = '2012-10-11 07:00',
        endDate = '2012-10-13 20:00' 
WHERE   startDate = '2012-10-12 07:00' 
AND     endDate = '2012-10-14 20:00'

您还应该使用文化不敏感的日期格式,例如'yyyyMMdd hh:mm:ss',例如您的约会日期2012-10-11 07:00,将被解释为10月11日某些文化,11月10日被其他文化解释。

<强> Example on SQL Fiddle of why not use yyyy-mm-dd dates