一尘不染

如何在SQL Server 2008中描述表?

sql

我想描述一下SQL Server 2008中的表,就像我们可以使用DESCOracle中的命令一样。

我有[EX].[dbo].[EMP_MAST]要描述的表格,但它不起作用。

显示错误:

数据库’master’中不存在对象’EMP_MAST’或对该操作无效。


阅读 143

收藏
2021-03-17

共1个答案

一尘不染

根据此文档

DESC MY_TABLE

相当于

SELECT column_name“ Name”,可为空的“
Null?”,concat(concat(concat(data_type,’(’),data_length),’)’)“
Type”来自user_tab_columns,其中table_name =’TABLE_NAME_TO_DESCRIBE’;

我已经将它粗略地翻译为与您等效的SQL Server-只需确保您在EX数据库上运行它即可。

SELECT column_name AS [name],
       IS_NULLABLE AS [null?],
       DATA_TYPE + COALESCE('(' + CASE WHEN CHARACTER_MAXIMUM_LENGTH = -1
                                  THEN 'Max'
                                  ELSE CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR(5))
                                  END + ')', '') AS [type]
FROM   INFORMATION_SCHEMA.Columns
WHERE  table_name = 'EMP_MAST'
2021-03-17