【发布时间】:2017-02-07 10:54:27
【问题描述】:
我有一个使用 SQL order by 排序的 SQL Server Reporting Services (SSRS) 报告,并为字母数字字符串数据返回以下内容:
Value: 0.0
Value: 20.96
Value: 289.64
Value: 30.99
Value: 308.655
Value: -32296.32
Value: 34.844
Value: 38.95
Value: -697.38
Value: -703.48
每个字符串的格式如下:
`Value: numeric data`
SQL order by 似乎按字符串排序,但忽略了数值前的减号。
我正在使用 C# 和 LINQ 对字符串进行排序以尝试匹配该排序:
var _sorted = _unsortedValues.OrderBy(x => x.Description);
我明白了:
Value: -32296.32
Value: -697.38
Value: -703.48
Value: 0.0
Value: 20.96
Value: 289.64
Value: 30.99
Value: 308.655
Value: 34.844
Value: 38.95
默认情况下,LINQ 对字符串进行排序,所有负值首先升序,然后是零,然后是正值
关于如何获得所需的排序以复制 SSRS 排序的任何想法?
注意
我在此报告列中有其他类型的字符串已正确排序。 例如
"Timestamp: data time data"
"Identifier: string data"
【问题讨论】:
-
我刚刚在 Linqpad 中将其作为字符串列表进行了尝试,并按照您的要求对其进行了排序。由于我无法复制您的问题,我需要更多信息。描述是如何填充的,您能否显示更多代码来显示它是如何填充的以及它所在的类。
-
给我们更多代码。您的代码应该根据您提供给我们的数据运行
标签: c# sql-server linq sorting alphanumeric