SQL Server:用于将整数列转换为浮点的XML
我在SQL Server中有一个视图,其中混合了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)?如果您不知道视图中存在的列的名称,
整数
、字符串
和十进制
列。
当我使用
SELECT *
FROM [VIEW]
FOR XML RAW
INTEGER
和DECIMAL
列被错误地转换为科学符号值,如2.400000000000000e+001
,其中整数列的值应该是24
如果我手动将列转换为
CAST([column] AS VARCHAR(128))
那么这就不会发生了。但是,如果我只知道这一列的名称,而其余的数值必须是
十进制(32,10)
?如果您不知道视图中存在的列的名称,则必须使用动态SQL来实现这一点。您可以在这里使用查询作为基础:首先您说视图中有整数列,然后您说您只有一个整数列,最后您要求其余的列应该是十进制的。你的问题有点令人困惑。那么它到底是怎样的呢?您的视图中的列实际具有什么数据类型?很抱歉造成混淆。我只有一列是INT,其余的列可以是字符串和十进制(32,10)的混合体。我修改了原始问题以帮助更好地理解。避免这种情况的唯一方法是在视图的SELECT语句中强制转换每个数字列。选择视图后,列的格式就正确了。