我目前有一个名为Date的列表,默认值为getdate()
。我正在使用merge
语句,如果文件是在同一天上传的,我只希望它更新。如果它是一个不同的日期,我想插入一个新行。我的问题是,这会有效吗?
var sqlCommand = string.Format(@"
MERGE [HEWreport] AS target USING (
select @Property_ID as Property_ID, @val as {0}
) AS source ON (
target.Date = getdate()
) WHEN MATCHED THEN UPDATE SET {0}= source.{0}
WHEN NOT MATCHED THEN INSERT (Property_ID, {0})
VALUES (source.Property_ID, source.{0});", column);
答案 0 :(得分:1)
如果没有样本数据,很难验证语法。我相信这对你有用,但是你想在超过日期的情况下进行匹配,我猜想是property_id吗?
目前,您的查询将使用今天的日期更新所有记录。
编辑:
使用Convert(Date, target.Date) = Convert(Date, getdate())