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 ...'? –