这是问题所在。我的表中有3个字段,可能包含末尾附加额外引号的数据。所以,我正在尝试运行一个select语句,它将从这些字段中删除这个额外的字符,如果存在额外的字符。我可以编写3个单独的查询,但它们可以工作,但我正在尝试将它们组合成一个查询。这是我到目前为止所拥有的,而且我知道它的方式可能不正确:
这是返回的结果集。请注意,所有三列都是NULL
。它们不应该是:
这是一个单独的查询,一次适用于一个字段:
你能告诉我我做错了吗?
答案 0 :(得分:2)
您可以删除选择列表中的WHERE以及非相关子查询,并可能将其简化为此...
SELECT
AID
, EID
, STOREID
, [Language]
, 'BrandLabel' = CASE WHEN BrandLabel LIKE '%"'
THEN LEFT(BrandLabel, LEN(BrandLabel) -1)
ELSE BrandLabel
END
, 'Terms' = CASE WHEN Terms LIKE '%"'
THEN LEFT(Terms, LEN(Terms) -1)
ELSE Terms
END
, 'TrackOrderLbl' = CASE WHEN TrackOrderLbl LIKE '%"'
THEN LEFT(TrackOrderLbl, LEN(TrackOrderLbl) -1)
ELSE TrackOrderLbl
END
FROM parallel_Purchase_Email_Content_OMS WITH (NOLOCK)