当日期细分为 2 个整数(月和月)时,按日期过滤的最佳方法是什么?年?
我有一个数据表,其中的日期按月份和日期划分。年。我需要按日期过滤,因此我正在考虑添加带有表达式的列以获得真正的日期时间列。这是处理这个问题的最好方法吗? “转换”可以做到这一点吗?像...
dt.Columns.Add("RealDate", typeof(DateTime), "Convert(Month + '/1/' + Year, 'System.DateTime')");
I have a DataTable that has a date broken up by Month & Year. I need to filter by date so I was thinking about adding a column with an expression to get a true DateTime column. Is this the best way handle this? Can 'Convert' do this? Something like...
dt.Columns.Add("RealDate", typeof(DateTime), "Convert(Month + '/1/' + Year, 'System.DateTime')");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将在填充数据表的 SQL 中执行转换。这可能是内联 SQL、存储过程或 ORM。
让数据库引擎完成工作。不要花费大量资源在应用中执行这些转换和计算。
编辑:如果无法更改生成 DataTable 的过程,则可以使用 DataView RowFilter 进行过滤,如下所示:
这是一个很棒的示例页面,包含演示和代码。
I would perform the transformation in the SQL that populates the DataTable. That might be inline SQL, a stored procedure, or an ORM.
Let the database engine do the work. Don't spend a lot of resource performing these transformations and calculations in your app.
Edit: If you can't alter the process generating the DataTable, you can filter by using a DataView RowFilter, like this:
Here's a terrific page of examples, with demos and code.
由于没有人回答,我将重申我使用的代码:
Since no one answered, I'll reiterate the code I used: