T-SQL

FORMATMESSAGE() maximum output length

FORMATMESSAGE() is a quite useful competitor to RAISERROR() function, mainly in the case we won’t print the message directly but prepare it for further processing. One important limitation is there we must remember: The maximum output character length is limited to 2047 characters. When the final message is longer then…

Read more
T-SQL

APPROX_COUNT_DISTINCT()

APPROX_COUNT_DISTINCT() is a nice new function announced currently to be in public preview for Azure. Being well known for Oracle users is now joining (like many other things:)) also the Microsoft world. This function is designed to provide aggregations across large data sets where responsiveness is more critical than absolute…
T-SQL

Removing decimal places from a number without rounding

ROUND() is a well-known function in SQL Server. Most of us know only that two parameters can be used like ROUND(99,95, 2). This will do standard mathematical up/down rounding of numbers in the first parameter for the number of decimal places from the second parameter. But there is also an…
T-SQL

TRIM() přichází: LTRIM(RTRIM()) v propadlišti dějin

Nová funkce TRIM(), která přichází v SQL Serveru 2017, je opravu jen logickou kombinací dvou funkcí RTRIM() a LTRIM() vnořených do sebe, ale i tak se jedná o milé vylepšení T-SQL jazyka, který se tím kompatibilitou zase o kousek blíží SQL standardům implementovaných v konkurenčních RDBMS. Syntaktické a funkční srovnání…
T-SQL

TRANSLATE() jako alternativa k řetězení REPLACE() funkcí

Další novou zajímavou funkcí pro práci s řetězci v SQL Serveru 2017 je funkce TRANSLATE(), která funguje jako šikovná náhrada více REPLACE() funkcí vnořených do sebe. Funkce má tři vstupní parametry: TRANSLATE ( inputString, characters, translations) inputString je řetězec, v němž chceme provést nahrazení characters jsou znaky, které chceme nahradit…

Read more
T-SQL

CONCAT_WS() - Nová funkce pro spojení řetězců s výběrem separátoru

Od SQL Serveru 2012 máme možnost spojovat řetězce pomocí funkce CONCAT(), která však neumí nic jiného, než prosté spojení řetězců za sebe a není možné specifikovat separátor, kterým bychom od sebe jednotlivé řetězce mohli oddělit. SQL Server 2017 proto přichází s novou funkcí CONCAT_WS(), kde již přídavek WS napovídá, že…
SQL Server

Executing Scalar Functions

There are several ways how to execute scalar functions. A lot of them are well known: using SELECT or SET. But did you know that you can use EXECUTE too? We will play with all the options in this article and especially with EXECUTE we will enjoy it:)
T-SQL

Modifying data using table valued functions

Is it possible to modify data in T-SQL using inline table valued functions? It´s surprising, but YES, it´s possible. If we will remember the sentence from BOL, that we can think about inline table valued functions as  they are like parameterized views, then it’s more clear that we can modify…

Read more