AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1155571
Accepted
questionto42
questionto42
Asked: 2024-03-03 00:29:50 +0800 CST2024-03-03 00:29:50 +0800 CST 2024-03-03 00:29:50 +0800 CST

如何获取 INFORMATION_SCHEMA.COLUMNS 视图本身的 INFORMATION_SCHEMA.COLUMNS 元数据视图之类的内容?

  • 772

该视图的所有列均在Learn -> SQL -> SQL Server -> COLUMNS (Transact-SQL):INFORMATION_SCHEMA.COLUMNS中列出:

在此输入图像描述

COLUMN_NAME数据类型为nvarchar(128):

在此输入图像描述

但没有关于此专栏的更多元数据。它有哪种排序规则?

该列所有属性的文档在哪里:

  • 在微软网站上?

  • 或者也许在某些 SQL Server 菜单本身中?我有服务器管理工​​作室。使用 MySQL 数据库上的 DBeaver,您可以通过右键单击来检查任何视图或表的属性,以便您可以看到所有列属性。但MS SQL Server没有这个。

  • 或者怎样才能要求查看INFORMATION_SCHEMA.COLUMNS风景INFORMATION_SCHEMA.COLUMNS呢?就像是:

    select * from INFORMATION_SCHEMA.COLUMNS where c.TABLE_SCHEMA = 
    'INFORMATION_SCHEMA' and c.TABLE_NAME = 'COLUMNS'
    
sql-server
  • 2 2 个回答
  • 43 Views

2 个回答

  • Voted
  1. Best Answer
    Olivier Jacot-Descombes
    2024-03-03T01:05:27+08:002024-03-03T01:05:27+08:00

    您可以打开阅读器,然后使用 获取列架构GetColumnSchema()。这是一个 C# 示例:

    using var connection = new SqlConnection(ConnectionString);
    using var command =
        new SqlCommand("SELECT TOP 1 * FROM INFORMATION_SCHEMA.COLUMNS", connection);
    connection.Open();
    using var reader = command.ExecuteReader();
    foreach (DbColumn column in reader.GetColumnSchema()) {
        Console.WriteLine($"{column.ColumnName} {column.DataTypeName}({column.ColumnSize})");
    }
    Console.ReadKey();
    

    印刷:

    TABLE_CATALOG nvarchar(128)
    TABLE_SCHEMA nvarchar(128)
    TABLE_NAME nvarchar(128)
    COLUMN_NAME nvarchar(128)
    ORDINAL_POSITION int(4)
    COLUMN_DEFAULT nvarchar(4000)
    IS_NULLABLE varchar(3)
    DATA_TYPE nvarchar(128)
    CHARACTER_MAXIMUM_LENGTH int(4)
    CHARACTER_OCTET_LENGTH int(4)
    NUMERIC_PRECISION tinyint(1)
    NUMERIC_PRECISION_RADIX smallint(2)
    NUMERIC_SCALE int(4)
    DATETIME_PRECISION smallint(2)
    CHARACTER_SET_CATALOG nvarchar(128)
    CHARACTER_SET_SCHEMA nvarchar(128)
    CHARACTER_SET_NAME nvarchar(128)
    COLLATION_CATALOG nvarchar(128)
    COLLATION_SCHEMA nvarchar(128)
    COLLATION_NAME nvarchar(128)
    DOMAIN_CATALOG nvarchar(128)
    DOMAIN_SCHEMA nvarchar(128)
    DOMAIN_NAME nvarchar(128)
    

    您可以使用 Visual C#“ConsoleApp (.Net Framework)”项目从 Visual Studio 运行此 C# 代码:

    在此输入图像描述

    这为您提供了一个标准的空项目代码,您可以从中继续:

    在此输入图像描述


    您还可以在 SSMS 中的“视图”>“系统视图”下找到“信息”视图本身: 在此输入图像描述

    • 1
  2. Ben Thul
    2024-03-03T02:45:09+08:002024-03-03T02:45:09+08:00

    我想我已经通过本机 mssql DMV 找到了您正在寻找的内容。注意 - 我必须使用它们的“all_”版本(其中包括系统对象);我认为这就是 information_schema.columns 没有出现在您的原始查询中的原因:

    select c.*
    from sys.all_columns as c
    join sys.all_objects as o
        on o.object_id = c.object_id
    where o.schema_id = schema_id('INFORMATION_SCHEMA')
        and o.name = 'COLUMNS';
    
    • 1

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • SQL 洗衣清单

  • OPENROWSET、二进制文件、varchars 和 varbinaries

  • 聚集索引与非聚集索引?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve