SQL格式字符串



我在SQL中工作的一个importscript,它在这一点上工作得很好,除了一个部分是STRING_AGG部分。我需要这个是一个特定的格式,但我似乎找不到一个方法来完成它。

当前输出:0000000- 0000000- 0000000- 000000000000,0000000- 0000000- 0000000- 000000000000.

我需要的是:["0000000 -0000000 -0000000 -00000000000 ","0000000 -0000000 -0000000 -00000000000 "]

我已经尝试了一些事情与CONCAT,但没有得到任何输出,这是怎么做到的?

WITH CTE_EnrichmentProperty (EntityId, EnrichmentIndex, IbProductKey) AS (
SELECT DISTINCT EntityId
, EnrichmentIndex
, IbProductKey
FROM dbo.ArticleEnrichmentImportItem
WHERE ArticleEnrichmentImportItem.ArticleEnrichmentImportId = @ImportId
AND ArticleEnrichmentImportItem.EnrichmentType = 'EnrichmentPropertySelection'
AND ArticleEnrichmentImportItem.State IN (1, 2, 3)
)
INSERT INTO Attribute (Id, Type, EnrichmentProperty_EnrichmentPropertyId, EnrichmentProperty_Value)
SELECT ArticleEnrichmentImportItem.Id,
'enrichment',
CTE_EnrichmentProperty.EntityId,
(SELECT STRING_AGG(CAST(EntityId AS varchar(38)), ',') FROM dbo.ArticleEnrichmentImportItem A 
WHERE A.ArticleEnrichmentImportId = @ImportId
AND A.EnrichmentType = 'EnrichmentPropertySelectionValue'
AND A.EnrichmentIndex = ArticleEnrichmentImportItem.EnrichmentIndex
And A.IbProductKey = ArticleEnrichmentImportItem.IbProductKey
)
FROM dbo.ArticleEnrichmentImportItem
JOIN CTE_EnrichmentProperty ON CTE_EnrichmentProperty.EnrichmentIndex = ArticleEnrichmentImportItem.EnrichmentIndex 
WHERE ArticleEnrichmentImportItem.ArticleEnrichmentImportId = @ImportId
AND ArticleEnrichmentImportItem.EnrichmentType = 'EnrichmentPropertySelectionValue'
AND ArticleEnrichmentImportItem.IbProductKey = CTE_EnrichmentProperty.IbProductKey;
...
SELECT CONCAT( '["', 
STRING_AGG(CAST(EntityId AS varchar(38)), '","'),
'"]'
),
...

最新更新