特定の列名の値を丸めるクエリがあります。
select round([CIMtrek_CI_Act],0) as CI FROM [CIMtrek_SystemTable_DatawareHouse]
ここで、[CIMtrek_CI_Act_33]はnullではなく、CIMtrek_CIMtrekUniqueID = 1917
そして結果は
CI
1
しかし、私が次のクエリを実行すると:
(SELECT (SELECT [T1].[CIMtrek_CIMtrekUniqueID] AS [CIMtrek_CIMtrekUniqueID]
,round([T1].[CIMtrek_CI_Act],0) AS [CIMtrek_CI_Act]
FROM [CIMtrek_SystemTable_DatawareHouse] T1
WHERE T1.CIMtrek_CIMtrekUniqueID = 1917
FOR XML PATH('Record'), TYPE )) FOR XML PATH('Root')
結果は
<Root>
<Record>
<CIMtrek_CIMtrekUniqueID>1917</CIMtrek_CIMtrekUniqueID>
<CIMtrek_CI_Act>1.000000000000000e+000</CIMtrek_CI_Act>
</Record>
</Root>
値は丸められません。
値が10.58
私が取得する必要があるよりも大きい場合11
。また、フィールドvarchar
には、値がない場合は、empty
よりも文字列を取得する必要があります0
。
私がここで犯した間違いは何ですか、そして同じものを修正する方法