Konwersja znacznika czasu UNIX (bigint) na datetime w SQL Server

Na podstawie Wikipedii dowiadujemy się, że w systemie operacyjnym Unix i pochodnych czas jest przedstawiany jako 32-bitowa liczba sekund, które upłynęły od godziny 00:00:00 w czwartek, 1 stycznia 1970 czyli uniwersalnego czasu koordynowanego (UTC). Na tej podstawie można już przekonwertować znacznik czasu UNIX na typ datetime w SQL Server. Dostajemy następujący Dowiedz się więcej…

Wyciągnięcie wartości parametrów zapisanych w planach zapytań

Bardzo często gdy przeprowadzamy proces optymalizacji zapytań przeglądamy wygenerowane plany zapytań. Na tej podstawie można dokonać pewnych optymalizacji, ale czy zawsze ? Często mamy doczynienia z procedurami składowanymi czy też sparametryzowanymi zapytaniami ad-hoc. Przeglądając zapytania dochodzimy do wniosku, że tak do końca nie jesteśmy wstanie stwierdzić jak powinien być wygenerowany Dowiedz się więcej…

SQL Server 2022 – Funkcja DATE_BUCKET()

Jest to nowa funkcja w SQL Server 2022. Funkcja DATE_BUCKET zwraca wartość typu data/godzina odpowiadającą początkowi każdego segmentu typu data/godzina na podstawie sygnatury czasowej zdefiniowanej przez parametr origin lub jeśli nie podano pochodzenia, jako data pochodzenia zostanie użyta domyślna wartość 1900-01-01 00:00:00.000 Składnia: Datapart Część daty musi być jedną z Dowiedz się więcej…

SQL Server 2022 – Funkcja GENERATE_SERIES()

W SQL Server 2022 dostarczono nową funkcję, a GENERATE_SERIES() , która była przez wielu długo oczekiwana. Ta funkcja pozwoli wygenerować serię liczb w zadanym przedziale. Zakres i skok między wartościami szeregów są definiowane przez użytkownika. GENERATE_SERIES wymaga poziomu zgodności co najmniej 160. Gdy poziom zgodności jest mniejszy niż 160, SQL Dowiedz się więcej…

Prawa de Morgana

Ostatnio zauważyłem kontrolując kody w T-SQL, że młodzi deweloperzy nie pamiętają prawa de Morgana lub źle go interpretują. W celu przypomnienia takich podstaw omówimy dwa prawa. I prawo de Morgana jest prawem zaprzeczenia koniunkcji Zaprzeczenie koniunkcji dwóch zdań ∼(p∧q) jest równoważne alternatywie zaprzeczeń tych zdań (∼p)∨(∼q). (∼(p∧q))⇔((∼p)∨(∼q)) NOT(a AND b) Dowiedz się więcej…