SQL SERVER Query输出中出现一些奇怪的符号

时间:2018-05-30 12:00:23

标签: sql sql-server sql-server-2014

我在SQL SERVER 2014上编写了一个SELECT查询。我有所需的输出。但是出现在'TaskAction'字段数据上的撇号符号(')(在每个数据的末尾)。这是我的剧本:

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

现在请检查我的输出和错误 enter image description here

请帮助解决这个问题。在此先感谢。

1 个答案:

答案 0 :(得分:0)

如评论中所述,请使用 test "should return bonsai_site_configuration even on exception" do site = Site.first raises_exception = -> { raise 'boom' } Site.stub(:all, [site]) do site.stub(:bonsai_desc, raises_exception) do Site.stub(:notify_exception) do bonsai_information = Site.bonsai_site_configuration assert_equal(0, bonsai_information[:data].count) end end end end 代替ELSE ''。原因是在一对单引号中,ELSE ''''告诉SQL将单引号转义为输出。

例如,要显示输出'',您需要User's