Преобразование типа данных столбца при фильтрации записей с использованием DataView.RowFilter - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть дата с столбцом, имеющим Дата .Даты хранятся в формате

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'";

Я пытался привести значение подстроки, как мы делаем в Sql

(cast(DateColumn as date))

, но выдает ошибку.

Может кто-нибудь помочь мне, как я могу получить часть даты из этого столбца иизменить его тип данных на дату.

1 Ответ

0 голосов
/ 04 декабря 2018

Синтаксис, который вы можете использовать для RowFilter s, описан на docs.microsoft.com .

Чтобы преобразовать значение в данном столбце в дату, которую вам нужноиспользовать CONVERT функцию вместо cast.

(cast(DateColumn as date))

станет:

CONVERT(DateColumn, 'System.DateTime')

К сожалению, я был бы удивлен, если бы форматваша строка легко конвертируется в DateTime (хотя попытка наверняка не повредит шансу, который она имеет!), что-то вроде этого может дать вам некоторый успех, хотя:

CONVERT(SUBSTRING(DateColumn, 1, 10), 'System.DateTime')

К которому вы можете применить свой фильтр и сказать:

dv.RowFilter = "CONVERT(SUBSTRING(DateColumn, 1, 10), 'System.DateTime') >= '2018/11/01'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...