XML ドキュメントから値を選択しようとしていますが、一部は 10 進値ですが、XML データ フィードでは小数点ではなくカンマで区切られてい2,05
ます2.05
。これがドイツの 10 進数の書き方だと思います。
とにかく、Error converting data type nvarchar to numeric
それらを選択しようとするとエラーが発生し、ソース データの前処理を行わずにこのクエリを機能させる方法があることを期待していました。
DECLARE @XmlDoc INT
DECLARE @XmlData VARCHAR(MAX)
SET @XmlData = '<xml><sample><decvalue>2,05</decvalue></sample></xml>'
EXEC sp_xml_preparedocument @XmlDoc OUTPUT, @XmlData
SELECT *
FROM OPENXML(@XmlDoc,'/xml/sample',2)
WITH (decvalue DECIMAL(10,2) 'decvalue')