本文介绍了数据表列表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





在数据表中,我需要通过从同一数据表中的文件名列获取来保存文件扩展名。



对于这个我使用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 


这篇关于数据表列表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 05:24