本文介绍了数据表列表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在数据表中,我需要通过从同一数据表中的文件名列获取来保存文件扩展名。
对于这个我使用sql表达式如下
Hi,
In a datatable I need to save file extension by getting from a filename column within same datatable.
For this i am using sql expression as below
iif(@str like '%.%',reverse(left(reverse(@str), charindex('.', reverse(@str)) - 1)),'')
这需要在datacolumn默认值中添加
this need to be added in datacolumn default value
dt.Columns.Add("FileExtension", typeof(string), "iif([Resume Doc Name] like '%.%',reverse(left(reverse([Resume Doc Name]), charindex('.', reverse([Resume Doc Name])) - 1)),'')");
但是上面的代码在反向功能时失败。
有任何建议吗?
谢谢
我的尝试:
使用sql表达式以不同的方式尝试
But above code is failing at reverse function.
Any suggestions to achieve this?
Thanks
What I have tried:
Tried in different ways using sql expressions
推荐答案
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
dt.Columns.Add(new DataColumn("CarType", typeof(string)));
dt.Rows.Add(new object[]{"Skoda", null});
dt.Rows.Add(new object[]{"Volkswagen", "Business"});
dt.Rows.Add(new object[]{"Mazda", "Personal"});
dt.Rows.Add(new object[]{"Renault", "Business"});
var result = dt.AsEnumerable()
.Select(x=>new
{
Name = x.Field<string>("Name"),
CarType = x.Field<string>("CarType"),
ReversedName = string.Join("", x.Field<string>("Name").Reverse())
})
.ToList();
结果:
Result:
Name CarType ReversedName
Skoda null adokS
Volkswagen Business negawskloV
Mazda Personal adzaM
Renault Business tluaneR
这篇关于数据表列表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!