SDU Tools: Version 27 is now released for download
Version 27 of our free SDU Tools for developers and DBAs is now released and winging their way out to our SDU Insiders.
You can find details on the tools here .
If you haven’t been using SDU Tools yet, I’d suggest downloading them and taking a look. At the very least, it can help when you’re trying to work out how to code something in T-SQL.
Along with the normal updates to SQL Server versions and builds, we’ve added the following new tools:
FormatBytes
FormatBytes takes a number of bytes and returns the value as a string, with units as a suffix e.g., 1.02kB or 1.02KB. The calculation can be done using SI units (where 1000 bytes is one kB, or binary units where 1024 bytes is one KB. It can also output IEC based units like the kibibyte.
JaroWinklerSimilarity
This function calculates the Jaro Winkler similarity for two strings. It essentially answers the question “Do these two short strings probably refer to the same thing, even if they aren’t exactly the same?”. It can be used where typos are common, or characters are transposed, and where prefixes matter more than suffixes. Empty and NULL values on input return NULL. This function is computationally intensive. If you have large volumes of data to compare, consider modifying it to a table-valued function.
LevenshteinDistance
This function calculates the Levenshtein distance between two strings. It essentially answers the question “How far apart are these two strings in terms of character edits?”, where edits are inserting, deleting, or substituting a character, and where each edit has a cost of 1. Empty and NULL values on input return NULL. This function is computationally intensive. If you have large volumes of data to compare, consider modifying it to a table-valued function.
NormalizeForSearch
This function normalizes a string to make it ready for search operations. It makes strings comparable by stripping away differences that are usually meaningless for search or matching. It helps to answer the question: If two strings refer to the same thing, what differences should I ignore before I even start comparing? It returns NULL on NULL input. This function is computationally intensive. If you have large volumes of data to compare, consider modifying it to a table-valued function.
TokenSetSimilarity
This function calculates token set similarity for two strings. It answers the question: Do these two strings contain mostly the same words, even if the order, spacing, or repetition differs? It is useful where word order varies, or extra or missing words are common. It can also help where character-level typos are less important than the presence of words. It is order-insensitive (which is good for names and titles) and is intentionally set-based (so duplicates don’t increase similarity). For token-weighting (downplaying common words like pty, ltd, inc), you might consider adding a stop-word table and filtering tokens before insert. It returns NULL on NULL or empty string input. This function is computationally intensive. If you have large volumes of data to compare, consider modifying it to a table-valued function.
NepaliMonths, NepaliMonthDays, EnglishDateToNepaliDate, NepaliDateToEnglishDate
This set of views and functions are used for processing Nepali dates in SQL Server. They also provide options to convert between English dates and Nepali dates and vice-versa. This function is computationally intensive. If you have large volumes of data to compare, consider modifying it to a table-valued function.
The following tool was also upgraded:
ListUserHeapTables - now includes page counts and forwarded record counts.
2026-02-19