Z dokumentacji technet: ( https://technet.microsoft.com/en-us/library/ms187912(v=sql.105).aspx ) The decimal data type can store a maximum of 38 digits, all of which can be to the right of the decimal point. The decimal data type stores an exact representation of the number; there is no approximation of the stored value. The float and realCzytaj dalej / Read more
Kategoria: Development
Tematy poświęcane developowaniu rozwiązań w MS SQL Server
Stosowanie IN do znalezienia jednej wartości w wielu kolumnach
Z dokumentacji technet: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/in-transact-sql IN (Transact-SQL) – Determines whether a specified value matches any value in a subquery or a list. Oficjalna dokumentacja nie wspomina o możliwości wykorzystania polecenia IN do przeszukiwania wielu kolumn dla podanej wartości. Jednak implementacja przewiduje takie przypadki, pokaże też na co engine zamienia takie polecenie. CzasamiCzytaj dalej / Read more
Sortowanie liczb przechowywanych jako napis
Z wikipedii: http://pl.wikipedia.org/wiki/Porz%C4%85dek_leksykograficzny Porządek leksykograficzny – pojęcie matematyczne odnoszące się do sposobu uporządkowania elementów zbiorów. Dzisiaj krótko o dość często zapominanym szczególe, który może znacząco wpłynąć na wyniki Waszych zapytań. W wielu systemach można napotkać na ciekawe przypadki trzymania liczb w polach (n)char,(n)varchar. Zapewne każdy z nich dałoby się jakośCzytaj dalej / Read more
SQL# (SQLsharp) na przykładzie STRING_SPLIT i REGEX_REPLACE
Z dokumentacji projektu SQLSharp( http://www.sqlsharp.com/download/SQLsharp_Manual.pdf ) Welcome to SQL# (SQLsharp). SQL# is a small .Net / CLR library (Assembly to be specific) that resides in a SQL Server 2005(or newer) database and provides a suite of User-Defined Functions,StoredProcedures, User-Defined Aggregates, and User-Defined Types. This set of toolsis designed to make thelivesCzytaj dalej / Read more
NULL vs WARTOŚĆ i często popełniany błąd przy warunku kolumna <> 'wartość’
Z dokumentacji technet ( https://msdn.microsoft.com/en-us/library/ms188048(v=sql.105).aspx ) Specifies ISO compliant behavior of the Equals (=) and Not Equal To (<>) comparison operators when they are used with null values. Witajcie. Dzisiaj omówimy wyjątkowo perfidny przypadek, który może łatwo doprowadzić do katastrofy ;), jeśli nie pamięta się o tym jak w świecie zbiorówCzytaj dalej / Read more
CREATE TYPE [AS TABLE] – przekazanie tabeli do procedury
Z dokumentacji technet ( http://msdn.microsoft.com/en-us/library/ms175007%28v=sql.105%29.aspx ) Creates an alias data type or a user-defined type in the current database. The implementation of an alias data type is based on a SQL Server native system type. A user-defined type is implemented through a class of an assembly in the Microsoft .NET Framework commonCzytaj dalej / Read more
SQL_VARIANT_PROPERTY ()
Z dokumentacji technet ( http://msdn.microsoft.com/en-us/library/ms178550(v=sql.105).aspx ) Returns the base data type and other information about a sql_variant value. Funkcja teoretycznie służy do sprawdzenia właściwości takich jak: typ,precyzja, ilośc bajtów czy collation dla danych przetrzymywanych w uniwersalnym typie danych sql server jakim jest sql_variant. Ale nic nie stoi na przeszkodzie by sprawdzaćCzytaj dalej / Read more
fn_my_permissions() – Sprawdzenie jakie mamy uprawnienia do bazy danych
Z dokumentacji technet ( http://msdn.microsoft.com/en-us/library/ms176097%28v=sql.105%29.aspx ) Returns a list of the permissions effectively granted to the principal on a securable. Przy pomocy tego polecenia możemy w szybki sposób sprawdzić nasze uprawnia względem konkretnego obiektu. Obiektem może być serwer, baza i oczywiście wszystkie inne, do których dostęp zarządzany jest przez uprawnienia sqlCzytaj dalej / Read more
PRINT vs RAISERROR
Ilu z Was korzystało z polecenia PRINT? A ilu na jego podstawie oparło logikę powiadamiania użytkownika uruchamiającego procedurę/batcha o rozpoczęciu/zakończeniu jakiegoś kroku w kodzie? Podejrzewam, że znajdzie się kilka takich osób… 🙂 No dobrze, a czy zaobserwowaliście jakieś nieprawidłowości w wyświetlaniu komunikatów? Nie? A spróbujcie uruchomić poniższy kod: DECLARE @iCzytaj dalej / Read more
Sprytne (i szybkie) wygenerowanie tabeli z liczbami od 1 do N (tally table)
Jeżeli potrzebowaliście kiedyś wygenerować na szybko do testów sporą ilość wierszy lub chcieliście otrzymać liczby rosnąco w postaci wierszy (joinowanie numeracji, sprawdzanie ciaglosci numeracji i inne kombinacje ;]) to istnieje sposób na stosunkowo szybkie zaspokojenie takiej potrzeby 😀 Z pomocą przychodzi nam CTE i funkcja okienkowa numerująca dane wygenerowane przezCzytaj dalej / Read more