Sql server 输入检索数据的特定日期
我使用的是Visual Studio 2008和SQL Server 2008,我的web表单上有5个复选框,标记为星期一到星期五,数据库中有两个日期字段(From和to)。如果我选中星期一并提交,我只想检索星期一发生的事务的数据 如果我查看周一和周五,我希望看到仅在周一和周五发生的交易Sql server 输入检索数据的特定日期,sql-server,Sql Server,我使用的是Visual Studio 2008和SQL Server 2008,我的web表单上有5个复选框,标记为星期一到星期五,数据库中有两个日期字段(From和to)。如果我选中星期一并提交,我只想检索星期一发生的事务的数据 如果我查看周一和周五,我希望看到仅在周一和周五发生的交易 非常感谢您的帮助您可以使用函数DATEPART从日期检索工作日以实现目标 如果数据库中有100条记录-字段(从和到),并且我只想要周一的交易,那么datepart仍然有效是!在where子句中,您应该放置如下内
非常感谢您的帮助您可以使用函数DATEPART从日期检索工作日以实现目标
如果数据库中有100条记录-字段(从和到),并且我只想要周一的交易,那么datepart仍然有效是!在where子句中,您应该放置如下内容:datepart(dw,dateFrom)=2或datepart(dw,dateTO)=2//retrieve Mondays。虽然答案是100%准确的,但如果表变大,它将无法很好地扩展。即使列上有一个索引,当您要查询基于该列的函数时,它也会被错误地使用。如果要将其向上扩展,那么最好将其添加为计算的持久化列,并在其上放置索引。尽管如此,它还是得到了我的支持。我检索到了周一的数据,效果非常好,轻微的问题汤姆日期不是按顺序运行的,如果事务是每周的,它将保存为从日期'07/09/2015到日期'07/09/2015'您如何检索周三已尝试DATEPART(dw,FromDate)=2+2,这个问题很好。我将创建枚举,其中星期一=1,星期二=2,星期四=4,星期四=8,星期五=16,星期六=32,星期天=64。并在DB中为它保留一列。现在执行bitwsie操作,将所有选定的值保存在新列中,并类似地填充回复选框。只需在google中搜索一下enum按位操作。这是性能方面最好的解决方案。