I have an nvarchar SQL column which contains mostly numeric values. I’m trying to come up with an L2S expression that gets me the maximum numeric value while ignoring any non-numeric values.
The SQL that does the job is:
select top 1 value from identifier where and patindex('%[^0-9]%', value) = 0 order by CAST(value AS INT) desc
What LINQ expression can I use to achieve the same thing?
You can do SQL Like queries using the
SqlMethodsinSystem.Data.Linq.SqlClient.This Linq statement becomes this query according to LinqPad:
LinqPad is a great way to play around with queries to see if you can get what you’re looking for. I’ve found that just about the only SQL statements that don’t have a good L2S equivalent are ones with the PIVOT keyword. Other than that, there’s usually a way to get what you want.
If you want the whole record and not just the MAX() value, you could do the query this way: