Scripts

Technical Article

Creating a Dynamic Crosstab Query

Crosstab queries (also called "pivot tables") in which you know beforehand the number of column values to aggregate by, can easily be performed in T-SQL using CASE statements wrapped in the SUM function.  Where things get tricky, however, is when you don't know how many aggregation values exist, and you are required to write a […]

(2)

You rated this post out of 5. Change rating

2003-09-26

3,783 reads

Technical Article

SP_HELPTEXT Modified for XML

This is the standard sp_helptext from SQL Server 2000 modified slightly to return the object definition as an XML document.The document is structured in the following format:I admit it was not a lot of work since I merely modified the final SELECT statement from Microsoft's own procedure, but I still find this very useful.The only […]

You rated this post out of 5. Change rating

2003-09-26

236 reads

Technical Article

Haversine Calculation in User Defined Function

Uses the haversine formula to calculate distance between 2 long / lat points.  This can be used with a zip code / lat and long table that are available from the census bureau or post office.The @R can be tweaked dependent on what gives you the best result (its the radius of the earth, fluctuates […]

You rated this post out of 5. Change rating

2003-09-25

799 reads

Technical Article

Optimized prime number generator

This a modification to the script given by Preethi.It generates prime numbers to the upper bound you specify.Modifications are using following facts from algebra:1. All prime numbers greater than 3 can be written in the form 6 * X +/- 1.2. Instead of checking the module for ALL numbers

You rated this post out of 5. Change rating

2003-09-25

415 reads

Technical Article

Get Column Lists script

This is a script like Column_Gitter by Rick Bolin (RickInMesa), it differs in the fact that it does not use cursors, it optionally adds the table name, it handles UDDT (User Defined Data Types) properly, and handles the new SQL Server 2000 datatypes.Usage: Open this script in QA, Change QA to the desired Database, Edit […]

(1)

You rated this post out of 5. Change rating

2003-09-24

739 reads

Technical Article

Compare the structure of two tables.

@strUser_nm is the owner of the table.  If the modifyname table does exist, it will alter it with the same structure as the sourcename table.  If the modifyname table exists, it compares the columns and add any that are missing.  The procedure passes an output parameter.  This is used to know if we need to […]

You rated this post out of 5. Change rating

2003-09-22

503 reads

Technical Article

Rename Foreign Key Constraints

This script will rename all FK constraint names in your database.  It will give them a user friendly name that can be used in error messages, etc. The FK contraint names will be formatted as FK_ChildTableName_ParentTableName_soid. Note: You first need to enable 'Allow modifications to be made directly to the system catalogs'. This can be […]

You rated this post out of 5. Change rating

2003-09-19

1,204 reads

Blogs

T-SQL Tuesday #202 SQL Server Outage You’ll Never Forget: A Roundup

By

When I put together the invitation for T-SQL Tuesday #202, I wasn't sure what...

A Last Minute Trip to the EU

By

My life has some crazy travel stretches for sure. Between speaking, office visits, customer...

Part 3 of 3: Tuning DiskANN — R, Alpha, L, Beam Width, Recall and Latency

By

In Part 1, we saw how ‘Vamana’ represents vectors as nodes, connects them with...

Read the latest Blogs

Forums

Server-Level Table sizes

By Artur Sanin

Comments posted to this topic are about the item Server-Level Table sizes

ORDER BY alias

By aniap

Comments posted to this topic are about the item ORDER BY alias

Optional Parameter Plan Optimization in SQL Server 2025: Fixing the Kitchen-Sink Search Procedure

By vgupta

Comments posted to this topic are about the item Optional Parameter Plan Optimization in...

Visit the forum

Question of the Day

ORDER BY alias

There is a table tmp_tab:

CREATE TABLE tmp_tab (
id int,
val int
);
INSERT INTO tmp_tab VALUES
(1, 1),
(2, NULL),
(3, 3),
(4, 4),
(5, 5);
You want to order the rows ids by the following expression:
    ISNULL(val, id) + 1
Which of the following queries produces the expected ordering and why? (Select all correct)

See possible answers