【发布时间】:2020-03-10 10:22:46
【问题描述】:
我正在尝试将记录从 XML 文件插入到 SQL Server 表中。 XML 文件有一些 Depth 列的条目,其值与 ex 略有不同。 -8.67991800817151E-0
有人可以指导我如何将该值转换为十进制并插入到表格中吗?谢谢。
这是我的存储过程:
CREATE PROCEDURE [dbo].[IProjectData]
@xml XML
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO DHDStrainSet
SELECT
DHDStrainSet.value('(StrainID/text())[1]','VARCHAR(255)') AS StrainID,
DHDStrainSet.value('(Depth/text())[1]','decimal(18,3)') AS Depth,
DHDStrainSet.value('(Strain/text())[1]','decimal(18,10)') AS Strain,
DHDStrainSet.value('(ProjectID/text())[1]','VARCHAR(50)') AS ProjectID
FROM
@xml.nodes('/RSM3DDB/DHDStrainSet') AS TEMPTABLE(DHDStrainSet)
END
示例 XML 文件是:
<?xml version="1.0" standalone="yes"?>
<RSM3DDB>
<DHDStrainSet>
<StrainID>SB 1_1ef50386</StrainID>
<Depth>-5.001987E-9</Depth>
<Strain>0.99</Strain>
<ProjectID>Hoop</ProjectID>
</DHDStrainSet>
</RSM3DDB>
【问题讨论】:
-
如果您提供一个示例 xml,将会有所帮助。
-
嗨,jonathan,我已经用示例 xml 文件编辑了问题,其中有一个条目供您参考。
-
@Çöđěxěŕ 你能解释一下我该怎么做吗?
-
@Shital 这不是有效的 xml,请您更新一下。
-
@Çöđěxěŕ 我已经更新了
标签: sql vb.net stored-procedures sqldatatypes