The Bit Bucket

Fabric Down Under show 10 with guest Minni Walia now available!

Fabric Down Under show 10 with guest Minni Walia now available!

Another Fabric Down Under podcast is out the door.

This time, the guest was Minni Walia.

Minni is a Principal Program Manager with the Microsoft Fabric Customer Advisory Team (CAT), specializing in the Real-Time Intelligence capabilities within Fabric.

Minni has over 20 years in tech, and has extensive experience in developing applications and data platforms. She spent more than a decade as an Enterprise Architect before transitioning into data analytics and engineering roles at Microsoft.

2025-02-10

T-SQL 101: 113 Finding Common Data with INTERSECT

T-SQL 101: 113 Finding Common Data with INTERSECT

Another interesting operator is INTERSECT. We saw how EXCEPT takes a set of rows and removes any duplicates, and removes any rows that are also contained in a second set of rows.

INTERSECT is similar in the way it works, but it only returns the rows that are common to both row sets.

You could replace an INTERSECT statement with a WHERE EXISTS clause but if you need to deal with NULLable columns, and as the number of columns increases, you can see that INTERSECT becomes quite an elegant solution.

2025-02-10

SDU Tools: Format Australian Phone Number

SDU Tools: Format Australian Phone Number

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. One request that we had some while back, was the ability to format phone numbers using Australian phone number format. To make that easy, we added the FormatAustralianPhoneNumber function.

The only parameter for this function is the phone number that needs to be formatted.

It starts by finding any digits. Then if it finds either 6, 7, 8, or (the standard) 10 digits, it formats the number appropriately.

2025-02-09

T-SQL 101: 112 Excluding Data with EXCEPT

T-SQL 101: 112 Excluding Data with EXCEPT

We saw how UNION and UNION ALL worked in the last T-SQL 101 post. Sometimes you want to work with two (or more) row sets in other ways.

The EXCEPT clause says that I want all the distinct entries in the first row set unless they also exist in the second row set.

In some database engines, this operator is called MINUS, but EXCEPT is the ANSI SQL standard, and that’s what SQL Server uses.

2025-02-09

SDU Tools: Languages in SQL Server T-SQL

SDU Tools: Languages in SQL Server T-SQL

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. Applications often need to display a list of languages for users to choose from. To make that easy, we have now included a view called Languages.

The Languages view returns details of all the world’s languages, based on ISO 639-1. For each language, the view returns:

  • FamilyName
  • LanguageName
  • NativeLanguageName
  • ISO2CharacterCode
  • ISO3CharacterCode

The FamilyName indicates the group of languages that the language belongs to. The LanguageName is what we call it in English. The NativeLanguageName is what locals call the language. And then there are the 2 and 3 character codes from the ISO standard.

2025-02-08

T-SQL 101: 111 Using UNION and UNION ALL

T-SQL 101: 111 Using UNION and UNION ALL

There are times when you need to connect together two sets of results into a single result set. The UNION statement is the way we do that.

In the example shown above, I have two SELECT queries. Notice that I could just highlight either one of them, and run them, and I’d see those values. But if I run the whole query, I’ll get back a single set of results that combines data from each of the queries. Note the results:

2025-02-08

SDU Tools: ExcelSerialToDateTime and DateTimeToExcelSerial

SDU Tools: ExcelSerialToDateTime and DateTimeToExcelSerial

Our free SDU Tools for developers and DBAs, now includes a very large number of tools, with procedures, functions, and views. Excel is fascinating in how it stores data. I have friends who joke that everything in Excel is a number or a string, and anything else you see is an illusion.

Date and time values in Excel are odd and use what most call a serial number when they’re stored. It’s common to need to import values from Excel into SQL Server and to export values to Excel.

2025-02-07

SQL Interview: 19: Store why an index exists

SQL Interview: 19: Store why an index exists

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Development Level: Medium

Question:

While developers don’t mind adding indexes to a database, most people are very nervous about ever removing them.

Tools let us see whether or not an index is being used, but it’s useful to know why the index was added in the first place.

2025-02-07

Cosmos Down Under show 13 with guest Rakhi Thejraj discussing auto-scaling in Cosmos DB is released

Cosmos Down Under show 13 with guest Rakhi Thejraj discussing auto-scaling in Cosmos DB is released

It’s been yet another big week for Down Under podcasts. I really enjoyed recording another new Cosmos Down Under podcast this afternoon. It’s now edited and released.

Show 13 features product group member Rakhi Thejraj.

Rakhi is one of the Cosmos DB product managers and is involved in supporting the elasticity, and ingestion features, plus security initiatives and AI customer reach outs.

I took this opportunity to discuss throughput provisioning and auto-scaling with her.

2025-02-06

SQL Interview: 18: Table Truncation and Foreign Keys

SQL Interview: 18: Table Truncation and Foreign Keys

This is a post in the SQL Interview series. These aren’t trick or gotcha questions, they’re just questions designed to scope out a candidate’s knowledge around SQL Server and Azure SQL Database.

Section: Administration Level: Medium

Question:

You have two tables:

  • dbo.Customers
  • dbo.Orders

The dbo.Orders table has a column CustomerID that is declared as a foreign key to the CustomerID column in the dbo.Customers table. In the dbo.Customers table, CustomerID is the primary key.

2025-02-06