The OUTPUT clause is a very powerful extension of T-SQL included in SQL Server 2005. But from time to time it needs some tweaks or workarounds to get the expected result. One such example is using OUTPUT with INSERT statements. There is a limitation that only columns from the table…
Specifying FILEGROUP in SELECT * INTO
17. 1. 2019
SQL Server 2017 and SP2 for SQL 2016 bring a small enhancement of SELECT .. INTO clause which offers more possibilities on how to solve some DBA head-scratching situations. It’s possible to specify FILEGROUP where the new table will be created. Till now it was only in the PRIMARY filegroup…
Hrátky s Table Value Constructorem
1. 10. 2017
Table Value Constructor (TVC) je v SQL Serveru sice již od verze 2008, ale vzhledem k tomu, jak moc si s ním můžeme vyhrát, nebude na škodu si projít pár zajímavých příkladů jeho použití. Jen pro zopakování si připomeňme, že TVC je set jednoho nebo více řádkových výrazů, pomocí kterých…
Používání CASE ve WHERE
24. 4. 2017
Pokud vynecháme případné záludnosti, které nám může přinést použití příkazu CASE ve WHERE podmínce, je to někdy nadmíru šikovná pomůcka, která najde své využití především v různých uložených procedurách používaných jako datové zdroje pro Reporting Services reporty, případně jako chytrá pomůcka aplikaci pro získání filtrovaných datových setů pro gridy a…
Spojování Common Table Expressions
24. 6. 2015
Common Table Expressions (CTE), dočasné pojmenované sety, představují mocný nástroj pro řešení nejrůznějších situací. Kromě jejich nejběžnějšího použití v případě, kdy potřebujeme rekurzivně procházet množinu dat, patří k jejich další zajímavé silné vlastnosti možnost spojování více CTE za sebou. V článku si ukážeme, jaký je syntaktický zápis a praktickou aplikaci….
LIKE: ESCAPE a COLLATE
17. 5. 2015
Jak používat klauzuli LIKE ví asi každý. Ale u mladších kolegů se často setkávám s tím, že si neumí poradit s jejím využitím v prostředí s různými kolacemi a nebo nevědí, jak dosáhnout správného výsledku v případě, že hledají řetězec, který obsahuje některý se speciálních znaků, např. %. COLLATE Řešení…
COUNT() a eliminace NULL hodnot
23. 2. 2015
Agregační funkce v SQL serveru ignorují hodnoty NULL. V praxi to znamená, že pokud agregujeme data ve sloupcích a některé řádky obsahují NULL hodnoty, tyto hodnoty se do naší agregace nezapočítají. Pro funkce typu SUM() je to očekávané chování, ale již ne tak pro AVG() nebo COUNT(). Funkce COUNT() se…
CTE with multiple anchors
3. 2. 2015
Common Table Expression (CTE) offers a lot of options on how to play with it. One of them is using recursion with an anchor which is in the standard scenario one row. But we can have a more complex anchor: instead of one row, it can be i.e. union on…
Examples of TOP syntax
21. 5. 2014
This article is just a short summary of TOP clause variants we can use. Especially the last one with a subquery isn’t so common and can be something new for you. Consider official documentation for more details on TOP usage and if you have any other interesting example don’t hesitate…