我需要使用以下字段更新数据库中的记录
[ID] int (AutoIncr. PK)
[ScorerID] int
[Score] int
[DateCreated] smalldatetime
如果今天的日期存在记录(仅应检查日期部分,而不是时间)和给定的评分者,我想更新此人和这一天的得分值。如果得分手今天没有记录,我想创建一个新记录。
我正在尝试弄清楚如何将其放入单个(这可能吗?)sql 语句中。顺便说一下,我使用 MSSQl 数据库和 ExecuteNonQuery() 方法来发出查询。
最佳答案
IF EXISTS (SELECT NULL FROM MyTable WHERE ScorerID = @Blah AND CONVERT(VARCHAR, DateCreated, 101) = CONVERT(VARCHAR, GETDATE(), 101))
UPDATE MyTable SET blah blah blah
ELSE
INSERT INTO MyTable blah blah blah
关于SQL Select : Update if exists, 如果没有则插入 - 与日期部分比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/340366/