-- Přejmenování sloupců
SELECT 'abc' AS Text, 123 AS 'Číslo 123';
-- Převod desetinného čísla na celé číslo
SELECT CONVERT(INT, 11.526); -- 11.526 => 11
-- Převod celého čísla na desetinné číslo
SELECT CONVERT(REAL, 11); -- 11 => 11.000
-- Převod celého čísla na text
SELECT CONVERT(VARCHAR, 11); -- 11 => '11'
-- Zaokrouhlit desetinné číslo (číslo, počet desetinných míst)
SELECT ROUND(11.526, 0); -- 11.526 => 12.000
SELECT ROUND(11.526, 1); -- 11.526 => 11.500
-- Zaokrouhlit číslo a zcela odebrat desetiná místa¨
SELECT CONVERT(INT, ROUND(11.526, 0)); -- 11.526 => 12
-- Absolutní hodnota čísla
SELECT ABS(-1.0), ABS(0.0), ABS(1.0); -- => 1.0, 0.0, 1.0
-- Spojování textů
SELECT CONCAT('Ahoj jsi ', 1, '.') -- => 'Ahoj jsi 1.'
-- Vyříznutí textu z leva (od začátku)
SELECT LEFT('123456789', 3) -- => '123'
SELECT LEFT('123456789', 5) -- => '12345'
-- Vyříznutí textu z prava (od konce)
SELECT RIGHT('123456789', 3) -- => '789'
-- Vyříznutí textu ze zadané pozice o zadané velikosti (text, začátek, počet znaků)
SELECT SUBSTRING('123456789', 3, 2) -- => '34'
SELECT SUBSTRING('123456789', 2, 4) -- => '2345'
-- Otočení textu
SELECT REVERSE('123'); -- '123' => '321'
-- Opakování textu N-krát
SELECT REPLICATE('0', 4); -- => '0000'
SELECT REPLICATE('A-', 3); -- => 'A-A-A-'
-- Vše na malá písmena
SELECT LOWER('Ahoj Brno'); -- => 'ahoj brno'
-- Vše na velká písmena
SELECT UPPER('Ahoj Brno'); -- => 'AHOJ BRNO'
-- Počet znaků v textu
SELECT LEN('123456789'); -- => 9
-- Získání pozice hledaného textu v jiném textu (hledaný text, text ve kterém hledáme)
SELECT CHARINDEX('c', 'abcdefg'); -- => 3
SELECT CHARINDEX('caw', 'ahoj caw nazdar'); -- => 6
SELECT CHARINDEX('x', 'abcdefg'); -- => 0 (0 = Nebylo nalezeno)
-- Pokud hodnota je NULL tak ji nahraď za jinou hodnotu
SELECT ISNULL(Tabulka.Sloupecek, 0); -- NULL => 0 | 50 => 50
SELECT ISNULL(Tabulka.Sloupecek, 'Nic'); -- NULL => 'Nic' | 'Něco' => 'Něco'
-- Výběr N-tého prvku ze seznamu vyjmenovaných hodnot
SELECT CHOOSE (3, 'ahoj', 'čau', 'zdar', 'nazdar'); -- 3 => 'zdar'
SELECT CHOOSE (1, 'ahoj', 'čau', 'zdar', 'nazdar'); -- 1 => 'ahoj'
-- Výběr hodnoty na základě hodnoty ve sloupečku
SELECT
CASE Tabulka.Sloupecek
WHEN 1 THEN 'Jedna'
WHEN 2 THEN 'Dva'
ELSE 'Jiné'
END AS Pojmenovani_sloupecku
;
-- Výběr hodnoty na základě podmínky
SELECT
CASE
WHEN Tabulka.Sloupecek = 1 THEN 'Jedna'
WHEN Tabulka.Sloupecek = 2 THEN 'Dva'
WHEN Tabulka.Sloupecek > 2 AND Tabulka.Sloupecek <= 5 THEN '3-5'
ELSE 'Jiné'
END AS Pojmenovani_sloupecku
;
-- Datum musí být vždy zapsáno ve formátu 'rok-mesic-den' viz. '2020-03-09', '2024-12-31'
-- Čas musí vždy být zapsán ve formátu 'hodiny:minuty:sekundy' viz. '06:00:05', '23:59:59'
-- Datum a čas musí vždy být zapsány ve formátu 'rok-mesic-den hodiny:minuty:sekundy' viz. '2020-03-09 06:00:05'
-- Získat dnešní/aktuální datum a čas
SELECT GETDATE();
-- Získat Číslo konkrétního Dne z data
SELECT DAY('2020-06-09'); -- => 9
-- Získat Číslo konkrétního Měsíce z data
SELECT MONTH('2020-06-09'); -- => 6
-- Získat Číslo konkrétního Roku z data
SELECT YEAR('2020-06-09'); -- => 2020
-- Získání Názvu dne v týdnů z data (Pondělí, Úterý, ...)
SELECT DATENAME(WEEKDAY, '2020-06-09') -- => 'Monday'
-- Získání Názvu měsíce z data (Leden, Únor, ...)
SELECT DATENAME(MONTH, '2020-06-09') -- => 'June'
-- Získání Číslo qvartálu z data (1, 2, 3, 4)
SELECT DATENAME(QUARTER, '2020-06-09') -- => 3
-- Získání Čísla týdnu v roce z data (1 - 52)
SELECT DATENAME(WEEK, '2020-06-09') -- =>
-- Získání Čísla dne v roce z data (1 - 365)
SELECT DATENAME(dayofyear, '2020-06-09') -- =>
-- Rozdíl dvou dat mezi sebou (datum1 - datum2 = Dny)
SELECT DATEDIFF(DAY, '2021-12-15', '2021-12-05'); -- => 10
-- Rozdíl dvou dat mezi sebou (datum1 - datum2 = Měsíce)
SELECT DATEDIFF(MONTH, '2021-12-15', '2021-10-05'); -- => 2
-- Rozdíl dvou dat mezi sebou (datum1 - datum2 = Roky)
SELECT DATEDIFF(YEAR, '2021-12-15', '2020-12-05'); -- => 1
-- Více funkcí pro práci s daty:
-- https://learn.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver16
Last active
March 10, 2024 09:31
-
-
Save MWarCZ/5d300511851f4119cc9529dd85669f2b to your computer and use it in GitHub Desktop.
SQL PV
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment