gpt4 book ai didi

c# - DataTable.Select 字符串函数在 where 子句中

转载 作者:太空狗 更新时间:2023-10-29 23:56:36 24 4
gpt4 key购买 nike

我在使用 DataTable.Select() 时遇到问题,其中匹配值可能包含前导空格并且需要正确修剪以返回正确数量的记录。

目前,由于不需要的字符导致匹配失败,我的代码返回的记录较少。

您如何处理 DataTable.Select,如以下示例 SQL 所建议的?

SELECT * FROM Table WHERE LTRIM(FullName) = ' Joe Smith'

我试过了

dataTable.Select("LTRIM(FullName) = ' Joe Smith'");

但是失败了。

有什么想法吗?

最佳答案

我建议改用Linq-To-DataSet,它更清晰,更易于维护:

var rows = from row in dataTable.AsEnumerable()
where row.Field<string>("FullName").Trim() == "Joe Smith"
select row;

如果您想改用LTRIM,只需将Trim 替换为TrimStart .

如果你想要一个数组或列表,使用ToArrayToList,例如

DataRow[] rowsArray = rows.ToArray();

或数据表

dataTable = rows.CopyToDataTable();

编辑:如果你坚持使用DataTable.Select或者你不能使用linq,这应该可以工作(LTRIM is not supported ):

rowsArray = dataTable.Select("TRIM(FullName) = 'Joe Smith'");

关于c# - DataTable.Select 字符串函数在 where 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19289597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com