Gorandalf's SQL Blog

Blogs

Convert SQL Audit Files to a CSV Using Read-SqlXEvent

By

SQL Server Audit is an efficient way to track and log events that occur...

Control Flow Restartability in Azure Data Factory

By

I presented at SQL Saturday Pittshburgh this past weekend about populating your data warehouse...

Monday Monitor Tips: Knowing Your RPO

By

A customer was asking recently about the RPO for their estate, and I showed...

Read the latest Blogs

Forums

Git Repo(s) for SQL Server Database, SSIS, SSAS, SSRS, PowerBI

By robertritter

Hey all, Just wondering how do you guys / girls set up git repo(s)...

best choice for index when creating a composite key

By water490

hi everyone I am planning on adding a composite key for my tables.  I...

Best Approach to cutover from Test to Live with new columns and tables added

By JP789

We have a Production/Live version with up-to-date data and a Test version with older...

Visit the forum

Question of the Day

STRING_AGG's behavior

Executing the following script (Sql Server 2022), you get the table t0 with 10 rows:
CREATE TABLE t0
( id     INT PRIMARY KEY
, field1 VARCHAR(1000)
, field2 VARCHAR(MAX));
INSERT INTO t0
SELECT
  gs.value
, REPLICATE ('X', 1000)
, REPLICATE ('Y', 1000)
FROM generate_series(1, 10, 1) gs;
GO
What happens if you execute the following statements?
  1. select STRING_AGG(field1, ';') within group (order by id)  from t0;
  2. select STRING_AGG(field2, ';') within group (order by id)  from t0;

See possible answers