1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
--Název aplikace z níž je vykonáván aktuální sql dotaz:
select APP_NAME()
--Microsoft SQL Server Management Studio - Query
 
--Vrací kódovou stránku hodnoty collation
select Collationproperty('Czech_CI_AI','codepage')
--1250
 
--Funkce parsename vrací objekt z cesty oddělený tečkou:
--Získává data z cesty: server.databáze.schema.tabulka
select parsename('dbo.books',1)
--books
select parsename('dbo.books',2)
--dbo
 
--Vrací název aktuálně přihlášeného DB uživatele
select Current_User
select USER_NAME()
 
--Vrací název loginu
select SUSER_NAME()
 
--Vrací rozdílné délky řetězců. Len() vrací bez whitespaces:
select LEN('text    ')
--4
select dataLENgth('text    ')
--8
 
--vrací seznam podporovaných collation
select * from fn_Helpcollations()
 
--Číslo klientského PID procesu, který posílá požadavek na SQL server
select Host_Id()
--1912
 
--Jméno klientské stanice vysílající požadavek na SQL Server
select Host_Name()
--HONZA
 
--Vrací nastavení serverových vlastností
select Serverproperty('IsSingleUser')
--0
 
--Vrací nastavení vlastností aktuální relace
select Sessionproperty('ARITHABORT')
--1
 
--Vrací kdy byly naposledy aktualizovány statistiky pro index
--První parametr je číslo tabulky, druhý je číslo indexu
SELECT name AS index_name,
STATS_DATE(object_id, index_id) AS statistics_update_date
FROM sys.indexes
WHERE object_id = OBJECT_ID('books');
 
--Zjistí vlastnosti o daném objektu. jestli je tabulka, pohled, cizí klíč apod.
select Objectproperty(OBJECT_ID('books'),'istable')
--1
 
--Varcí údaje o datovém typu:
SELECT TYPEPROPERTY( 'int', 'PRECISION');
--10 - je v tomto případě maximální délka vkládaného čísla
 
--Funkce checksum vrací hash dané hodnoty. je lepší použít hashBytes + MD5. U checksum může docházet k větším kolizím.
--Funkce checksum má zajímavost - v případě order by CHECKSUM(*) jsou výsledky seřazeny podle toho, jak jdou sloupce v definici tabulky za sebou.
select * from books
order by CHECKSUM(*)
 
--Funkce columns_updated a update() se používají v after trigerech ke zjištění zda byl záznam vložen/změněn
Share