C# 选择最大日期和之前的日期
我有一个数据表,除周六和周日外,每天都会更新。 问题在于,当我使用max-date和max-date-1检索数据时 但当我试图检索今天星期一和昨天星期天的数据时,它失败了,因为max date-1不存在 数据可以在周六和周日更新,但因为是汇率,我会更新。 周五、周六和周日的汇率是否相同 这是用这种方法解决问题的一种方法,但还有更好的方法C# 选择最大日期和之前的日期,c#,datetime,maxdate,C#,Datetime,Maxdate,我有一个数据表,除周六和周日外,每天都会更新。 问题在于,当我使用max-date和max-date-1检索数据时 但当我试图检索今天星期一和昨天星期天的数据时,它失败了,因为max date-1不存在 数据可以在周六和周日更新,但因为是汇率,我会更新。 周五、周六和周日的汇率是否相同 这是用这种方法解决问题的一种方法,但还有更好的方法 string weekend = DateTime.Now.DayOfWeek.ToString(); if (weekend == "Monday") { s
string weekend = DateTime.Now.DayOfWeek.ToString();
if (weekend == "Monday")
{
select ***** where max(date)-3 from *****
}
您可以选择至少有一天历史的最新记录。那么周末就不是特例了。你实际上是在寻找数据集中第二高的日期 查找数据中的最高日期。找到小于此值的值,将结果限制为1,则数据集中有前一天
任何其他方法都会在未更新费率的其他日期失败,例如圣诞节。以下是一些其他选项,这些选项也适用于任意的目标日期 如果每个日期只有一条记录
SELECT * FROM table WHERE date<=target_date ORDER BY date DESC LIMIT 2
如果每个日期都有许多记录
SELECT * FROM table WHERE date IN (SELECT DISTINCT date FROM table WHERE date<=target_date ORDER BY date DESC LIMIT 2)
当然,您也可以使用数据库的日期/时间函数来检查星期一。hmm您可能需要有关字符串的更多详细信息 sql字符串是 选择m.Navn、m.Beskrivelse、p_-idag.Points作为点,p_-igar.Points作为点,p_-igar作为点,m.LEFT JOIN选择*从Datoen='06-09-2010'的点作为点,m.Navn=p_-idag.Navn左连接选择*从Datoen='06-08-2010'的点作为点,m.Navn=p_-igar.Navn按m.Navn顺序
第一个日期由用户选择,下一个日期-1天或-3对我来说,一个简单的方法是: 从表格中选择*其中日期=从表格中选择maxdate 其中日期<从表中选择maxdate
不确定它的效率有多高@Sigenstroem-但请选择TOP x。。。正如黑暗猎鹰所建议的那样。是的,它是有效的,这也是我用来让它工作的方法。谢谢你的回答。!