Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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
SQL Server:用于将整数列转换为浮点的XML_Sql_Sql Server - Fatal编程技术网

SQL Server:用于将整数列转换为浮点的XML

SQL Server:用于将整数列转换为浮点的XML,sql,sql-server,Sql,Sql Server,我在SQL Server中有一个视图,其中混合了整数、字符串和十进制列。 当我使用 SELECT * FROM [VIEW] FOR XML RAW INTEGER和DECIMAL列被错误地转换为科学符号值,如2.400000000000000e+001,其中整数列的值应该是24 如果我手动将列转换为 CAST([column] AS VARCHAR(128)) 那么这就不会发生了。但是,如果我只知道这一列的名称,而其余的数值必须是十进制(32,10)?如果您不知道视图中存在的列的名称,

我在SQL Server中有一个视图,其中混合了
整数
字符串
十进制
列。 当我使用

SELECT * 
FROM [VIEW] 
FOR XML RAW
INTEGER
DECIMAL
列被错误地转换为科学符号值,如
2.400000000000000e+001
,其中整数列的值应该是
24

如果我手动将列转换为

CAST([column] AS VARCHAR(128))

那么这就不会发生了。但是,如果我只知道这一列的名称,而其余的数值必须是
十进制(32,10)

如果您不知道视图中存在的列的名称,则必须使用动态SQL来实现这一点。您可以在这里使用查询作为基础:首先您说视图中有整数列,然后您说您只有一个整数列,最后您要求其余的列应该是十进制的。你的问题有点令人困惑。那么它到底是怎样的呢?您的视图中的列实际具有什么数据类型?很抱歉造成混淆。我只有一列是INT,其余的列可以是字符串和十进制(32,10)的混合体。我修改了原始问题以帮助更好地理解。避免这种情况的唯一方法是在视图的SELECT语句中强制转换每个数字列。选择视图后,列的格式就正确了。