MS SQL Server - zjištění velikosti a typu polí všech tabulek

25. 7. 2016, Vladimír Klaus, Komentáře (0), přečteno 1674x

SQL
SQL Server

Pokud potřebujete třeba v dokumentaci uvést velikosti polí všech tabulek, je možné použít tento SQL. Podobný jste někde možná již objevili, ale problém bývá v případě nvarchar polí, u kterých je uvedena velikost v bajtech, ale nás spíše zajímá, kolik reálně znaků lze do uvedeného pole zapsat. Proto je tam ta malá podmínka. A snad ještě poznámka - v případě nvarchar(MAX) bude uvedena délka 0.

SELECT
  o.name as NazevTabulky
  ,c.name as NazevSloupce
  ,t.name as DatovyTyp
  ,case t.name
    when 'nvarchar' then c.length/2
    else c.length
  end as Delka
FROM sysobjects o
JOIN syscolumns c ON o.id = c.id
JOIN systypes t ON c.xtype = t.xtype
WHERE o.xtype = 'u' and t.name <> 'sysname' and o.name <> 'sysdiagrams'
ORDER BY o.name

Výsledek pak může vypadat třeba takto:

MS SQL Server - zjištění velikosti a typu polí všech tabulek


Komentáře k článku (0)

Komentáře mohou přidávat pouze přihlášení uživatelé.