有以下查询:
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 中,我想要'96% on .97',而在#2 中,我想要'100% on .97'。
显然,它正在截断字符串,只返回“VALUE”的第一个字符,但为什么呢?这在 SQL Server 2008 R2 上有效(我认为?)。当前的故障正在使用 SSMS 2012 发生。我疯了吗?