Home > OS >  SQL Format string
SQL Format string

Time:11-09

Im working on an importscript in SQL which is working fine at this point except one part which is the STRING_AGG part. I need this to be in a specific format but I can't seem to find a way to get this done.

Currently it's outputting: 00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000000.

What I need it to be is: ["00000000-0000-0000-0000-000000000000","00000000-0000-0000-0000-000000000000"]

I've tried some things with CONCAT but didn't get any output at all, how can this be done?

        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;

CodePudding user response:

...
SELECT CONCAT( '["', 
               STRING_AGG(CAST(EntityId AS varchar(38)), '","'),
               '"]'
               ),
...
  • Related