1
有以下查詢:SQL服務器字符串連接怪異/截斷
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...
對於一個給定的行,我可能有以下幾點:
血氧飽和度= '96',分隔符= '%上。' ,的FiO2 = '97',值= '9'
或者...
血氧= '100',隔板=,的FiO2 = '97',值= '1'
'上。%'顯然,在#1中,我想'.96'上的96%和#2中,我想'97%上的100%'。
顯然,它正在做字符串截斷,只返回'VALUE'的第一個字符,但是爲什麼?這在SQL Server 2008 R2上工作(我認爲?)。目前的失敗是使用SSMS 2012發生的。我是否失去了主意?
你能顯示一些實際的數據嗎? – JNK
還有哪些數據類型是你的源字段'c120'和'c130'? – JNK
您是否嘗試過'SELECT(CONVERT(...)+'%。'+ CONVERT(...))語法作爲'VALUE'FROM ...'? –