Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中对nvarchar列进行排序_C#_Sql Server_Winforms_Sql Server Ce - Fatal编程技术网

C# 如何在C中对nvarchar列进行排序

C# 如何在C中对nvarchar列进行排序,c#,sql-server,winforms,sql-server-ce,C#,Sql Server,Winforms,Sql Server Ce,我在使用nvarchar数据类型对列进行排序时遇到问题。如何按升序排序。 数据的格式是 1/0 22/21 19/26 2.3/14 29/0 1.3/44 85/30 第一个值是公里,可以是整数,也可以是双精度,然后是正斜杠,最后一个值是极数,它将始终是整数 此数据通过连接两列生成,即 select fromkm+"/"+frompole as FROM_KM from station; fromkm和frompole是数据库中的nvarchar类型 结果应为以下格式 1/0 1.3/44

我在使用nvarchar数据类型对列进行排序时遇到问题。如何按升序排序。 数据的格式是

1/0
22/21
19/26
2.3/14
29/0
1.3/44
85/30
第一个值是公里,可以是整数,也可以是双精度,然后是正斜杠,最后一个值是极数,它将始终是整数

此数据通过连接两列生成,即

select fromkm+"/"+frompole as FROM_KM from station;
fromkm和frompole是数据库中的nvarchar类型

结果应为以下格式

1/0 1.3/44 2.3/14 19/26 22/21 29/0 85/30
谢谢

尝试下一个查询,在子字符串函数中添加带有字段名的order by子句

SELECT from km+"/"+ from pole as FROM_KM from station;
OEDER BY SUBSTRING(FROM_KM,1,2) ASC
使用ORDERBY在SQL中进行排序。请注意,由于您的数据存储为nvarchar,因此在排序时必须将其转换为float/int,或者更好—更改数据库中列的数据类型:

select fromkm +"/"+ frompole as FROM_KM 
from station
order by cast(fromkm as float), cast(frompole as int);

这与c有什么关系?看起来您只想对第一个值进行排序,但显示的数据由两个值组成。理想情况下,在将这两个值合并到显示字符串中之前,应该进行排序。您的查询是什么样子的?请展示一点您正在使用的代码。您必须围绕正斜杠进行拆分,然后按拆分数组中的每个项目进行排序。你可以像我在下面的帖子中所做的那样使用IComarer:这将导致文本排序,意思是11在2之前。不起作用。。我不能更改数据类型,因为项目已经完成,如果现在我更改数据类型,那么我将面临一系列错误。不知怎的,我只想对这个值进行排序。定义不起作用。如果您不更改数据类型,当您需要一个数字时遇到诸如bla之类的值时,您可能会面临更大的问题。表中的数据类型没有更改,只是为了语句。FROM_KM的数据类型仍将与之前的nvarchar相同?是的,我编写的代码不应更改表中的任何内容,只需正确排序值。是的,它工作正常,兄弟。。不需要将fromepole强制转换为int。。它仅与fromkm一起工作。。选择fromkm+/+frompole as From_Km From station order by castfromkm as float。。这项质询奏效了。。谢谢你,佐哈佩勒兄弟