SQL Server与日期

时间:2016-05-27 18:36:48

标签: c# sql-server

我目前有一个名为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);

1 个答案:

答案 0 :(得分:1)

如果没有样本数据,很难验证语法。我相信这对你有用,但是你想在超过日期的情况下进行匹配,我猜想是property_id吗?

目前,您的查询将使用今天的日期更新所有记录。

编辑: 使用Convert(Date, target.Date) = Convert(Date, getdate())