次のクエリがあります。
Select
'SpO2' = CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(FLOAT, [C120]))),
'Separator' = '% on .',
'FiO2' = CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(FLOAT, [C130]))),
'VALUE' = CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(FLOAT, [C120])))
+ '% on .'
+ CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(FLOAT, [C130])))
From...
特定の行について、次のようになる場合があります。
SpO2 = '96'、セパレータ = '% on .'、FiO2 = '97'、値 = '9'
または...
SpO2 = '100'、セパレータ = '% on .'、FiO2 = '97'、値 = '1'
明らかに、#1 では「.97 で 96%」を希望し、#2 では「.97 で 100%」を希望します。
どうやら、文字列の切り捨てを行って 'VALUE' の最初の文字のみを返しているようですが、なぜですか? これは、SQL Server 2008 R2 で動作しています (と思いますか?)。現在、SSMS 2012 を使用して障害が発生しています。