В MSSQL я могу фильтровать запрос на номер телефона, как это:VB.NET BindingSource фильтр для DataGridView
where replace(phone,'-','') Like '%480555%'
Я пытаюсь выяснить, как сделать это на Datasource. Нормальный запрос выглядит следующим образом:
Dim stringFilter As String = String.Empty
String.Format("phone Like '%480555%'")
ViewCustomersBindingSource.Filter = stringFilter
Однако это не найти никаких результатов, потому что источник данных имеет значения, с дефисом в нем. REPLACE не является допустимым аргументом для фильтрации.
Моя первоначальная мысль состояла в том, чтобы обновить MSSQL View, чтобы разделить дефисы. Однако для отображения я хотел бы отображать дефисы. Я не могу предположить, что все они будут выглядеть так же, как некоторые номера телефонов могут отличаться от США.
Есть ли другой способ отфильтровать по номеру телефона и игнорировать дефисы?
Отличная идея. Я добавил это к моему мнению и вуаля. Спасибо за толчок. 'code'select id, фирменное имя, телефон, заменить (телефон, '-', '') в качестве телефонов от клиентов – CRAIGRY
Рад, что я мог помочь. Я сначала думал о столбце выражения в datatable, но это невозможно из-за ограничений выражения фильтра. И с удовольствием узнаем о функции MSSQL Replace ;-) – Chris