Scripts

Technical Article

faster dbo.ufn_vbintohexstr - varbinary to hex

Here's an alternative to Clinton Herring's ufn_vbintohexstr which should be much faster with large varbinary values. First, in his original version, the inner-loop CASE statements can be replaced with this: select @value = @value + CHAR(@vbin/16+48+(@vbin+96)/256*7) +CHAR(@vbin&15+48+((@vbin&15)+6)/16*7) How does it work? By adding 6 to a hex-digit in (@vbin&15), you have a value from 16 […]

You rated this post out of 5. Change rating

2006-12-20 (first published: )

132 reads

Technical Article

BASE64 Encode and Decode in T-SQL - optimized

This is just an optimized version of Daniel Payne's two scripts, base64_encode and base64_decode, with changes to end-of-block handling and a bug fix or two. If the encoded string ends in =, the last character is truncated. If ending in ==, two characters are chopped off. That seems better than replacing NUL characters with spaces, […]

(5)

You rated this post out of 5. Change rating

2006-12-18 (first published: )

7,711 reads

Technical Article

HexToInt

Challenged by Hans Lindgren's stored procedures of the same name, I created this. Note that it produces strange results on non-hexadecimal strings, overflows at 0x80000000, and could have issues with byte-ordering on some architectures.How does it work? Well, the distance between one after '9' (':') and 'A' is 7 in ASCII. Also, if I subtract […]

You rated this post out of 5. Change rating

2006-12-15 (first published: )

221 reads

Technical Article

SQLStackEngine - simulate a character stack

SQLStackEngine - simulate a character stack using a string.  This script was developed specifically to support the operator stack in SQLCalcEngine(also on this site).  However, the implementation is complete enough to stand on its own.There are several functions in the package that correspond to the common stack functions of Push, Pop, Peek, and so on.In […]

You rated this post out of 5. Change rating

2006-12-12 (first published: )

150 reads

Technical Article

Search for an expression in the body of programmable objects

Sometimes you want to modify an object (like a stored procedure, Function, trigger and view) and you can not remember the name of that object, but you remember some words of the comments that you placed in the body of that object. If this is your case, you can use the following procedures depending on […]

You rated this post out of 5. Change rating

2006-11-30 (first published: )

185 reads

Blogs

Why your data still can’t answer a simple question 

By

Every organization I talk to has the same problem dressed up in different clothes....

T-SQL Tuesday #197 Invitation – An impactful session or two from a conference

By

I am delighted to host this month’s T-SQL Tuesday invitation. If you are new...

Did You Really Name That Default?

By

Ten years (and a couple jobs) ago, I wrote about naming default constraints to...

Read the latest Blogs

Forums

The day-to-day pressures of a DBA team, and how we can work smarter with automation and AI

By Terry Jago

Comments posted to this topic are about the item The day-to-day pressures of a...

Using OPENJSON

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Using OPENJSON

Data Modeling with dbt for Visual Code: The Fabric Modern Data Platform

By John Miner

Comments posted to this topic are about the item Data Modeling with dbt for...

Visit the forum

Question of the Day

Using OPENJSON

I have some data in a table that looks like this:

BeerID BeerName    brewer               beerdescription
1      Becks       Interbrew            Beck's is a German-style pilsner beer 
2      Fat Tire    New Belgium          Toasty malt, gentle sweetness, flash of fresh hop bitterness.
3      Mac n Jacks Mac & Jack's Brewery This beer erupts with a floral, hoppy taste
4      Alaskan Amber Alaskan Brewing     Alaskan Brewing Amber Ale is an "alt" style beer
8      Kirin       Kirin Brewing         Kirin Ichiban is a Lager-type beer
If I run this, what is returned?
select t1.key
    from openjson((select t.* FROM Beer AS t for json path)) t1

See possible answers