• aaa

    Poznávačka krás Maďarska - toulání po severu 

  • CAT700

    Non-stop adventure závod přes Katalánsko - z Pyrenejí až k moři

  • Toulání Šumavou
    Toulání Šumavou

    Extrémní non-stop MTB závod

  • 1000 miles
    1000 miles

    Non-stop extrémní adventure závod napříč Československem by Jan Kopka

  • Bohemia Divide 2019

    Non-stop bike packing závod 700km dlouhý z nejjižnějšího do nejsevernějšího místa ČR 

A A A

Tímto způsobem můžeme v řetězci zaměnit část textu. 

1
SELECT REPLACE (Vstup, PuvodniZnak, NovyZnak)

 

Příklady

1
SELECT REPLACE ('10/10/2017, '/', '.')

Výsledek: 10.10.2017

1
SELECT REPLACE ('Tonda je borec','borec','blbec')

Výsledek: Tonda je blbec

 

 

Jistě nastane situace, kdy jste ve skriptech musíte zjistit aktuálně přihlášeného uživatele (definice práv, logování, parametrizace dotazů atd).
Existují dvě možnosti (vlastně víc ale nejpoužívanější jsou tyto)

1
SELECT SUSER_NAME()

 nebo

1
SELECT SUSER_SNAME()

 

Pokud oba dotazy pustíme bez argumentů vrátí to stejné - aktuálně přihlášeného uživatele. Rozdíl je v tom, že jeden dotaz zjišťuje uživatele dle UserID a druhý dle SID uživatele.
Rozdíl tedy vznikne, pokud budeme používat argumenty.

Pro zajímavost SID a userID aktuálního uživatele zjistíte takto

1
SELECT SUSER_SID(), SUSER_ID()

Určitě jste se setkali s tím, že při programování potřebujete rychle zjistit datový typ určitého sloupce tabulky. Rychlejší než procházet MSSM Studio je použít následující skript.

Pozn.v našem případě zkoumáme tabulku TabZamestnanci

1
2
3
4
5
6
USE Databaze1    --přepnutí databáze
 
SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, COLUMN_DEFAULT 
FROM information_schema.columns
WHERE table_name = 'TabZamestnanci'
ORDER BY column_name

 

Výsledek

 

Ve stávající tabulce můžeme měnit hodnoty jednotlivých sloupců (můžeme aktualizovat jeden i více sloupců najednou) přičemž můžeme modifikovat jeden i více záznamů

Aktualizace jednoho záznamu (záznam s ID = 2)

1
2
3
UPDATE NypTabZbytky 
SET IDPolozka = 2, IDDoklad = 1287355, Jakost = 'S235'
WHERE ID = 2

 

Aktualizace více záznamů najednou (v příkladu aktualizujeme všechny záznamy s datem starším než 30 dní tj.GETDATE()-30 )

1
2
3
UPDATE NypTabZbytky 
SET Poznamka = 'Starší než 30dní'
WHERE Datum < GETDATE()-30

 

Vložení záznamu do tabulky

Tímto způsobem vložíme data do tabulky, aniž bychom museli zadat hodnotu všech sloupců tabulky. Musíme definovat sloupce a jejich hodnoty, přičemž není nutné dodržet pořadí sloupců v tabulce.
Pokud tabulka používá ID pole s vlastností IDENTITY_INSERT neuvádíme hodnotu tohoto pole, systém ji automaticky přiřadí hodnotu.

1
2
INSERT INTO NypTabZbytky (Mnozstvi, Delka, Tavba, Jakost, Poznamka)
VALUES (2, 2.33, 'A542110', null, 'schválil vedoucí')

Do tabulky můžeme vložit záznam aniž bychom vyjmenovali sloupce. Je ale třeba dodržet zadat hodnoty všech sloupců a dodržet jejich pořadí v tabulce. 
Ani zde neuvádíme hodnotu pro pole s vlastností IDENTITY_INSERT

1
2
INSERT INTO NypTabZbytky 
VALUES (null, null, null, 2, 2.33, 'A542110', null, 'schválil vedoucí')

 

Do tabulky lze vložit hromadně data z jiné tabulky (popř.tabulek), je ale nutné, aby se cílová tabulka a zdrojová tabulka (nebo data) shodovali (popř.je nutné použít přetypování apod)

1
2
3
INSERT INTO TabOsoby 
SELECT * FROM TabZamestnanci
WHERE Vek < 50

Původně to měla být kategorie o cestách, které podniknu na svém starém kole-dědkovi. Pak se mě název zalíbil a říkám si, že jednou budu taky dědek, vlastně syna už na to mám dost velkýho, a tak nadčasově tuto kategorii nechám pojmenovanou takto. Takže zde nalezneš zápisky z cest. 

Zde je můj blog o SQL. Je to takový můj tahák.

Moje poznámky z instalací

Search