Technical Article

Query Hierarchical data Using CTE in T-SQL 2005

In response to Sam Stange's "An old and new way to query Hierarchical data", this script uses the new CTE feature of SQL Server 2005 to display the hierarchical data all at once. I have added a check to prevent infinite loop in case there is a loop in the data (actually, there is one […]

3.67 (3)

You rated this post out of 5. Change rating

2007-04-11 (first published: )

1,430 reads

Technical Article

Function Based Index in T-SQL

To build function based index in SQL Server, you can use indexed view (materialized view) or using a computed column. In this script, I give an exmaple of how to use the computed column to implement a function based index on a table to search through a free formated telephone number column. The basic step […]

5 (3)

You rated this post out of 5. Change rating

2007-04-10 (first published: )

8,627 reads

Blogs

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...

Webinar tomorrow: The Role of Databases in the Era of AI

By

I’m hosting a webinar tomorrow with Rie Merritt from Microsoft. We’ll be talking about...

Read the latest Blogs

Forums

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...

Table Partitioning SQL server 2022

By Saran

Hi All, I am currently testing the Table Partitioning to implement in SQL server...

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