我有一个 sql 语句,它返回我每月的第一天:
DATEADD(month, DATEDIFF(month, 0, @input), 0)
如何使用 SQLFunctions.DateAdd 和 SQLFunctions.DateDiff 重新创建此调用?
提前致谢
我有一个 sql 语句,它返回我每月的第一天:
DATEADD(month, DATEDIFF(month, 0, @input), 0)
如何使用 SQLFunctions.DateAdd 和 SQLFunctions.DateDiff 重新创建此调用?
提前致谢
如果您真的在使用 LINQ-to-SQL:
var zero = new DateTime(2000, 1, 1);
var resxxxx = (from p in ctx.Addresses
select new {
month = zero.AddMonths(SqlMethods.DateDiffMonth(zero, p.Date))
}
).FirstOrDefault();
重要的部分是month = zero.AddMonths(SqlMethods.DateDiffMonth(zero, p.Date))
。
请注意,我使用了zero = new DateTime(2000, 1, 1);
,但本月的任何 1 日都可以(1980 年 1 月 1 日、1983 年 7 月 1 日、2100 年 12 月 1 日...)。这是您的 SQL 命令中的两个0
s。p.Date
是您要计算当月第一天的日期 (so @input
)。