Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用DataView.RowFilter筛选记录时转换列的数据类型_Asp.net_C# 4.0_Datatable - Fatal编程技术网

Asp.net 使用DataView.RowFilter筛选记录时转换列的数据类型

Asp.net 使用DataView.RowFilter筛选记录时转换列的数据类型,asp.net,c#-4.0,datatable,Asp.net,C# 4.0,Datatable,我有一个datatable,其中一列有日期。日期存储为 2018/11/14,下午12:10 2018/11/15@13:49下午 2018/11/16,下午15:37。 等等 现在我只能根据日期过滤记录 我使用下面的代码过滤记录,但它没有返回正确的数据 dv.RowFilter = "SUBSTRING(DateColumn,1,10)>='2018/11/01' AND SUBSTRING(DateColumn,1,10)<='201811/30'"; 但这会带来错误 有谁能帮

我有一个datatable,其中一列有日期。日期存储为

2018/11/14,下午12:10

2018/11/15@13:49下午

2018/11/16,下午15:37。 等等

现在我只能根据日期过滤记录

我使用下面的代码过滤记录,但它没有返回正确的数据

dv.RowFilter = "SUBSTRING(DateColumn,1,10)>='2018/11/01' AND SUBSTRING(DateColumn,1,10)<='201811/30'";
但这会带来错误


有谁能帮助我如何从该列中获取日期部分并将其数据类型更改为日期。

可以用于
RowFilter
s的语法如所述

要将给定列中的值转换为日期,您需要使用
convert
,而不是
cast

(cast(DateColumn as date))
将成为:

CONVERT(DateColumn, 'System.DateTime')
不幸的是,如果字符串的格式可以很容易地转换为
日期时间
(尽管尝试这样做肯定不会有什么坏处!),我会感到惊讶,但这样做可能会给您带来一些成功:

CONVERT(SUBSTRING(DateColumn, 1, 10), 'System.DateTime')
然后,您可以对其应用过滤器并说:

dv.RowFilter = "CONVERT(SUBSTRING(DateColumn, 1, 10), 'System.DateTime') >= '2018/11/01'";

您的打字错误
201811/30
dv.RowFilter = "CONVERT(SUBSTRING(DateColumn, 1, 10), 'System.DateTime') >= '2018/11/01'";