有沒有辦法找到DataTable中使用方法的價值選擇: items.Select("Number like '%10%'");
問題與DataTable.Select
但數類型是int,而這個代碼不`噸工作...
有沒有辦法找到DataTable中使用方法的價值選擇: items.Select("Number like '%10%'");
問題與DataTable.Select
但數類型是int,而這個代碼不`噸工作...
看T-SQL CAST and CONVERT的功能,他們可能會幫助你。基本上,在您的查詢,使用CAST
或CONVERT
(不知道你是最適合)修改int進入,你可以執行LIKE
的字符串。
謝謝,我只是寫新的SQL查詢,其中場「數字」的轉換VARCHAR,然後我把它放在數據表 – mystdeim 2011-01-25 10:55:46
如果你真的想有這樣的行爲,那麼這將是更好只需添加到像「NumberText」與String類型,將相同的值存儲爲列數的表額外計算列。然後,你可以執行你的表達:items.Select("NumberText like '%10%'");
您可以使用LINQ方式如下:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<string>("Number").Contains("10")
select item;
,或者如果數字實際上是一個數字:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<double>("Number").ToString().Contains("10")
select item;
如果沒記錯,你需要逃脫單引號加倍。即:
items.Select("Number like ''%10%''");
您可以使用數據視圖DataTable中
DataView dv = new DataView(dtSample);
dv.RowFilter = "Number like '%10%'";
對於那些在未來閱讀篩選值,這可能幫助:
DataRow[] matchingRows = a.Select("Convert(Age, 'System.String') like '2%' "); // cut and paste from my code
因此,在你的代碼將是:
DataRow[] matchingRows = a.Select("Convert(Number, 'System.String') like '10%' "); // where Number is the name of your column.
你想匹配任何值,包括10 ?所以12312310324235,10 100,234324510都會匹配,但是23432451不會? – 2011-01-25 08:53:34