SQL Server 2014查询输出TaskAction字段末尾出现单引号问题求助
解决TaskAction字段末尾多余单引号的问题
我看了你的SQL脚本和输出情况,问题很明确:TaskAction字段末尾的单引号来自你CASE表达式中ELSE分支里多余的单引号拼接。
问题根源分析
在你的脚本里,有两处ELSE分支使用了''''(四个单引号),这在SQL Server里会被解析为一个单引号并直接拼接到结果字符串的末尾:
- 当
Asset.Vicinity为空或等于空字符串时,你用了ELSE '''',这会给TaskAction额外添加一个单引号; - 当不满足范围说明的条件(
Spec != 1或ValueLow/ValueHi为空)时,你同样用了ELSE '''',又会多叠加一个单引号。
这些多余的单引号累加起来,就导致了每条数据末尾出现不必要的单引号。
修改后的查询脚本
把那些多余的''''替换为空字符串('')即可解决问题,同时我还修正了范围说明拼接里的格式小问题,以下是修正后的完整脚本:
SELECT WOtask.PK, WOPK, TaskNo, TaskAction = CASE WHEN WOTask.AssetPK IS NOT NULL THEN '<b>' + Asset.AssetName + ' [' + Asset.AssetID + ']</b> ' + CASE WHEN Asset.Vicinity IS NOT NULL AND Asset.Vicinity <> '''' THEN RTRIM(Asset.Vicinity) + ': ' ELSE '' -- 替换原有的''''为'',避免添加多余单引号 END + WOtask.TaskAction + CASE WHEN CONVERT(varchar, ValueLow) IS NOT NULL AND CONVERT(varchar, ValueHi) IS NOT NULL AND Spec = 1 THEN ' (Range: ''' + CONVERT(VARCHAR,CONVERT(FLOAT,ISNULL(ValueLow,0))) + ''' - ''' + CONVERT(VARCHAR,CONVERT(FLOAT,ISNULL(ValueHi,0))) + ''')' ELSE '' -- 替换原有的''''为'',避免添加多余单引号 END ELSE WOtask.TaskAction + CASE WHEN CONVERT(varchar, ValueLow) IS NOT NULL AND CONVERT(varchar, ValueHi) IS NOT NULL AND Spec = 1 THEN ' (Range: ''' + CONVERT(VARCHAR,CONVERT(FLOAT,ISNULL(ValueLow,0))) + ''' - ''' + CONVERT(VARCHAR,CONVERT(FLOAT,ISNULL(ValueHi,0))) + ''')' ELSE '' -- 替换原有的''''为'',避免添加多余单引号 END END, Rate, Measurement, Initials, Fail, Complete, Header, LineStyle, WOtask.Comments, WOtask.NotApplicable, WOTask.Photo1, WOTask.Photo2 FROM WOtask WITH (NOLOCK) LEFT OUTER JOIN Asset WITH (NOLOCK) ON Asset.AssetPK = WOTask.AssetPK LEFT OUTER JOIN AssetSpecification ON AssetSpecification.PK = WOTask.AssetSpecificationPK WHERE (WOPK IN (SELECT WOPK FROM WO WITH (NOLOCK) LEFT OUTER JOIN Asset WITH (NOLOCK) ON Asset.AssetPK = WO.AssetPK LEFT OUTER JOIN AssetHierarchy WITH (NOLOCK) ON AssetHierarchy.AssetPK = WO.AssetPK WHERE WO.WOPK = 10109) ) ORDER BY WOPK, TaskNo
额外优化说明
原脚本中范围说明的拼接最后少了一个单引号(+ )'),我已经修正为+ ''')',这样范围的格式会更规范(比如显示为(Range: '5 - 10')),避免出现格式异常。
内容的提问来源于stack exchange,提问作者supriyo ray
相关产品推荐
相关产品推荐

