我有一个存储过程如下。现在我想修改它,以便它以逗号分隔列表的形式返回值。
CREATE PROCEDURE [dbo].[CUST_Notification_GetCompaniesFromEmails]
@EmailValue AS NTEXT
AS
SELECT DISTINCT
ISNULL(CompanyAddressesContacts.FirstName, '') + ' ' +
ISNULL(CompanyAddressesContacts.LastName, '') AS ContactName
,ISNULL(dbo.Companies.CompanyName,'') AS CompanyName,
CASE
WHEN CompanyName = 'Meraas Development' THEN '1'
WHEN CompanyName = 'Samsung C&T' THEN '2'
ELSE '3'
END AS id
FROM
dbo.CompanyAddressesContacts
INNER JOIN
dbo.Companies ON dbo.CompanyAddressesContacts.CompanyId = Companies.Id
WHERE
dbo.CompanyAddressesContacts.Email IN
(SELECT [value]
FROM dbo.SplitWords(@EmailValue,';'))
上面的代码返回值,正常的select语句会这样做。现在我想在代码中进行修改,以便它以逗号分隔列表的形式返回一个值。
谢谢!
答案 0 :(得分:1)
试试这个
DECLARE @List VARCHAR(8000)
SELECT @List = COALESCE(@List + ',', '') + CAST(OfferID AS VARCHAR)
FROM Emp
WHERE EmpID = 23
SELECT @List
答案 1 :(得分:0)
尝试将SplitWords
方法用作
dbo.SplitWords(@EmailValue +',','')
访问
http://oops-solution.blogspot.in/2011/11/sql-server-convert-table-column-data.html