1

以下の発言があります。「COD -」で始まるアカウント名の前にある「COD -」を削除するために CASE 関数を使用しようとしています。

SELECT
     DCLink
   , CASE
         WHEN LEFT(Client.Account, 6) = 'COD - ' THEN LTRIM(Client.Account)
         ELSE Client.Account
     END AS CustName
   , Client.Name AS AccName
   , Client.Contact_Person
   , Client.Telephone AS Telephone_1
   , Client.Telephone2 AS Telephone_2
   , Client.Fax1 AS Fax_1
   , Client.Fax2 AS Fax_2
   , Client.Tax_Number AS VATNumber
   , Client.EMail
   , SalesRep.Code
   , SalesRep.Name
   , CONCAT(Client.Physical1, ' ', Client.Physical2, ' ', Client.Physical3, ' ', Client.Physical4, ' ', Client.Physical5, ' ', Client.PhysicalPC) AS CustPhysical
   , CONCAT(Client.Post1, ' ', Client.Post2, ' ', Client.Post3, ' ', Client.Post4, ' ', Client.Post5, ' ', Client.PostPC) AS CustPost
FROM Client
INNER JOIN SalesRep ON SalesRep.idSalesRep = Client.RepID

ここで簡単なステップが欠けているような気がしますか?

つまり、データベースには次の 2 つの顧客アカウント名が存在する可能性があります。

  • ワンダフルスイーツ株式会社
  • COD - Thirsty Beverages Ltd

アカウント名が文字列「COD-」で始まる場合、その部分を削除する必要があると言いたいです。

4

2 に答える 2

0

replace ステートメントを使用して、「COD」を任意の値に置き換えます。こちらをご覧ください: https://msdn.microsoft.com/en-za/library/ms186862.aspx

于 2016-03-14T09:14:48.640 に答える