問題:
在SQL 中,函數包含一個檢索的查詢AccountCodes 表格中按排序排序的CodeName 值清單。目標是將這些值連接成單一字串並將結果儲存在 CodeNameString 變數中。
解決方案:
使用FOR XML PATH 和STUFF ( SQL Server 2005 或更高版本):
DECLARE @CodeNameString varchar(100) SELECT @CodeNameString = STUFF( (SELECT ',' + CodeName FROM dbo.AccountCodes ORDER BY Sort FOR XML PATH('')), 1, 1, '')
注意:
如果 CodeName 值包含,則此方法可能不起作用特定字符,例如 或 &。在這種情況下,建議採用替代解決方案,例如下面提出的解決方案:替代解決方案(使用DISTINCT 和FOR XML RAW):
DECLARE @CodeNameString varchar(100) SELECT @CodeNameString = DISTINCT(CodeName) WHERE EXISTS (SELECT 1 FROM dbo.AccountCodes WHERE CodeName = @CodeNameString) FOR XML RAW, ',')
以上是如何將 SQL 查詢結果連接成單一字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!