본문 바로가기

데이터베이스/MSSQL

MSSQL 테이블 레이아웃 출력 쿼리

SELECT OBJECT_NAME(c.object_id)

,c.column_id

,c.name

,c.max_length

,c.is_identity

,CASE WHEN c.is_nullable = 0 then 'No' ELSE 'Yes' END 

,ex.value

FROM sys.columns c

LEFT OUTER JOIN 

sys.extended_properties ex on ex.major_id = c.object_id and ex.minor_id = c.column_id and ex.name = 'MS_Dexcription'

WHERE OBJECT_NAME(c.object_id) = 'Q21'  --OBJECTPROPERTY(c.object_id,'IsMsShipped') ='Q21'

ORDER BY OBJECT_NAME(c.object_id), c.column_id



업그레이드 버전 ㅋ



SELECT row_number() OVER (ORDER BY x.ORDINAL_POSITION ASC) AS Seq, ''AS [KEY], x.TABLE_NAME

, x.COLUMN_NAME

, x.DATA_TYPE

, CASE WHEN x.CHARACTER_MAXIMUM_LENGTH IS NULL THEN x.NUMERIC_PRECISION

ELSE x.CHARACTER_MAXIMUM_LENGTH END AS MAX_LENGTH

, CASE WHEN x.NUMERIC_SCALE IS NULL THEN '' ELSE CONVERT(NVARCHAR, x.NUMERIC_SCALE) END AS SCALE

, x.IS_NULLABLE

, x.COLUMN_DEFAULT 

from INFORMATION_SCHEMA.COLUMNS x 

where x.TABLE_NAME='C01'