我有一些XML数据需要加为货币。 我尝试的每次转换都会出现错误

不允许从数据类型xml到____的显式转换。

这是一个简单的示例,其中包含几次失败的尝试。

DECLARE @xmlstuff xml

SET @xmlstuff = '3'

SELECT 
   CAST (@xmlstuff AS varchar(80)) as worksButDontCare,
   --CAST (@xmlstuff AS MONEY) as dollars, -- Explicit conversion from data type xml to money is not allowed.
   --CAST (@xmlstuff AS NUMERIC) as number, -- Explicit conversion from data type xml to numeric is not allowed.
   --CONVERT (decimal(18,2),@xmlstuff ) AS cd1_feeAmount, -- Explicit conversion from data type xml to decimal is not allowed.

===============>>#1 票数:2

TSQL不允许从xml直接转换为任何数字类型。

因此,正如@incircuitous指出的那样,您将必须先转换为文本,然后转换为Money

有关TSQL数据类型转换的更多信息,请查找MSDN上的大表

===============>>#2 票数:2

MSDN中的转换表确实对参考很有用, @GabrielRainha +1。

为了从XML数据类型中获取价值,我建议研究XML特定的方法,即针对这种特殊情况的value()

DECLARE @xmlstuff xml
SET @xmlstuff = '3'

SELECT @xmlstuff.value('.', 'money') as dollars

SQL小提琴

value()的第二个参数是返回值的数据类型。 第一个参数是XQuery表达式,用于在XML结构中定位值。 假设您在XML中没有任何结构-仅是值,因此您希望可以直接使用CAST将其转换为值-,您始终可以通过. 作为第一个参数。

===============>>#3 票数:1

我发现的答案是转换为varchar作为中间步骤。

CAST ((CAST (@xmlstuff AS varchar(80))) AS MONEY)  AS xmlToVarcharToMoney

  ask by incircuitous translate from so

未解决问题?本站智能推荐:

1回复

将Varbinary转换为XML时,TSQL“非法XML字符”

我正在尝试在SQL Server 2016中创建一个存储过程,该过程将以前转换为Varbinary XML转换回XML,但是在转换时出现Varbinary非法XML字符''错误。 我找到了一种似乎可行的解决方法,但是我实际上无法弄清楚它为什么起作用,这让我感到不舒服。 存储过程获取在SS
1回复

关于转换XML输出的网站API问题

嗨,大家好,标题说,我正在使用API​​来获取国家和城市的天气信息。 一切都很好,输出正在返回。 但是当我尝试将varchar转换为xml时,我遇到了问题。 看看我的代码和输出: 输出: 铸造: 首先,我不能返回: >s and <s
1回复

在存储为Varbinary的SQL字段中修改XML

我的XML作为varbinary存储在字段中。 我想更新一个属性(如下)。 但是,错误是“无法在varbinary(max)上调用方法”。 我尝试了多种方法来投射它,但找不到。 谢谢,
1回复

尝试在SQL Server中调用存储过程以将XML数据插入Delta表时,出现“无法切换编码”警告

我正在使用Biztalk将数据从XML文件插入SQL Server的过程中。 为此,我创建了一个存储过程,该存储过程根据XML文件中的数据将新记录插入表中。 将文件放在接收位置时,编码遇到问题。 在消息日志中,它引发以下警告: XML解析:第1行,字符38,无法切换编码
2回复

从xml + php转换货币

我有每日货币的xml来源http://www.tcmb.gov.tr/kurlar/today.xml 而且我需要对门户网站进行货币可选搜索。 如何获取特定数据并从xml源转换? :/ 我有一个搜索表: 价格输入 货币列表框(欧元,美元) 并且我需要从表
5回复

XML Schema如何声明价格和货币

我正在创建一个存储房屋信息的XML模式。 我想存储price和currency 。 在我看来,通过将货币作为价格元素的属性来声明这一点是有道理的。 此外,我想将可以作为currency输入的值限制为英镑,欧元或美元。 例如: 所以目前我在我的XML Schema中
2回复

带有大量货币的货币xml供稿[关闭]

我正在寻找带有货币数据的XML Feed。 它应该是免费的,每天更新。 为了这个,我整天都用Google搜索,但没有成功。 如果有人知道,请分享信息。
2回复

如何从在线XML货币供稿解析到wp7应用

因此,我知道在测试以文本块形式显示数据时正在读取文件,但似乎无法将xml分解成我想要的部分,即货币名称和汇率,然后将其添加到列表中以供选择和之后执行货币计算。 using System.Xml.Linq; namespace Mike_sMoney { public partial clas
3回复

我应该使用哪种XML数据类型用于货币/货币?

在阅读了几个关于用于货币/货币的Java数据类型的问题之后,我决定使用int / long方法,其中将货币/货币的值存储为最低单位(例如美分)。 这是否也适用于存储数据(以XML格式)? 我想到的第一件事就是不,因为它在存储数据时只会被“解析”成XML十进制格式 ,而在读取数据时会再
1回复

从Java的.xml网站中获取数字

我正在尝试从该网站获取某些货币的汇率,并将这些数字用于我的货币封面,因为它们每天都会更新。 这是计算器jsfiddle net / ems3bh7t /。 我在选择器选项中有货币,它们的值是“ EUR,USD等”,就像它们在上面链接的汇率网站中一样。 <script