Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Sorting 正在尝试查询SQL数据库,需要将列转换为excel中的排序_Sorting_Decimal_Varchar_Excel External Data - Fatal编程技术网

Sorting 正在尝试查询SQL数据库,需要将列转换为excel中的排序

Sorting 正在尝试查询SQL数据库,需要将列转换为excel中的排序,sorting,decimal,varchar,excel-external-data,Sorting,Decimal,Varchar,Excel External Data,在任何人大喊大叫之前,是的,我知道在我引用的数据库中有以varchar形式存储的数字是愚蠢的,但对此我无能为力。 基本上,我有一个列,它大部分是整数,存储为varchar,但是有一些带小数的值,我需要保留,同时将整个列转换为一些数字形式,以便稍后正确排序。如果我只是按原样选择数据,它的排序如下:1,10,11,12,13,2,2.1,3 我需要它是1,2,2.1,3,10,11,12,13,但我需要保持2和2.1或2.01之间的差别。小数点之前或之后的数字不得超过2位。我尝试将(十进制,第1列)

在任何人大喊大叫之前,是的,我知道在我引用的数据库中有以varchar形式存储的数字是愚蠢的,但对此我无能为力。 基本上,我有一个列,它大部分是整数,存储为varchar,但是有一些带小数的值,我需要保留,同时将整个列转换为一些数字形式,以便稍后正确排序。如果我只是按原样选择数据,它的排序如下:1,10,11,12,13,2,2.1,3
我需要它是1,2,2.1,3,10,11,12,13,但我需要保持2和2.1或2.01之间的差别。小数点之前或之后的数字不得超过2位。我尝试将(十进制,第1列)转换为“Column_Name”,但这使得所有2.1都变成了2,因此有了1、2、2、3等。想法?

转换(十进制,第1列)与转换(十进制(M,0),第1列)相同,其中M是一个依赖于操作系统的数字,但是0意味着小数点附近的数字不会被保留。改为使用Convert(十进制(X,2),列1),其中X是一个足够高的数字,足以处理列中的数字。

Convert(十进制,列1)与Convert(十进制(M,0,列1)相同,其中M是一个操作系统相关的数字,但0表示小数点附近的数字不会被保留。改为使用Convert(十进制(X,2),column1),其中X是一个足够高的数字,足以处理列中的数字。

Convert(十进制(6,3),column1)仍然只给出相同的重复整数1,2,2,3,而不是我后面的1,2,2.1,3。。。还有其他想法吗?请用示例数据和您尝试的查询设置一个sqlfiddle.com示例,然后我们可以检查出什么问题。Convert(Decimal(6,3),column1)仍然只给出相同的重复整数1,2,2,3,而不是我要的1,2,2.1,3。。。还有其他想法吗?请用示例数据和您尝试的查询设置一个sqlfiddle.com示例,然后我们可以检查出现了什么问题。