【问题标题】:SQL Server table creation date querySQL Server 建表日期查询
【发布时间】:2010-11-13 08:23:25
【问题描述】:

如何使用 SQL 查询获取 MS SQL 表的表创建日期?
我实际上看不到任何表,但我可以查询该特定表。

【问题讨论】:

    标签: sql sql-server tsql sql-server-2005


    【解决方案1】:
    SELECT create_date
    FROM sys.tables
    WHERE name='YourTableName'
    

    【讨论】:

      【解决方案2】:

      对于 2005 年起,你可以使用

      SELECT
              [name]
             ,create_date
             ,modify_date
      FROM
              sys.tables
      

      我认为对于 2000 年,您需要启用审核。

      【讨论】:

        【解决方案3】:

        对于 SQL Server 2005 及以上版本:

        SELECT [name] AS [TableName], [create_date] AS [CreatedDate] FROM sys.tables

        对于 SQL Server 2000 以上:

        SELECT so.[name] AS [TableName], so.[crdate] AS [CreatedDate]
        FROM INFORMATION_SCHEMA.TABLES AS it, sysobjects AS so 
        WHERE it.[TABLE_NAME] = so.[name]

        【讨论】:

          【解决方案4】:

          对于 SQL Server 2000:

          SELECT   su.name,so.name,so.crdate,* 
          FROM     sysobjects so JOIN sysusers su
          ON       so.uid = su.uid
          WHERE    xtype='U'
          ORDER BY so.name
          

          【讨论】:

            【解决方案5】:

            如果你还想要 Schema:

            SELECT CONCAT(ic.TABLE_SCHEMA, '.', st.name) as TableName
               ,st.create_date
               ,st.modify_date
            
            FROM sys.tables st
            
            JOIN INFORMATION_SCHEMA.COLUMNS ic ON ic.TABLE_NAME = st.name
            
            GROUP BY ic.TABLE_SCHEMA, st.name, st.create_date, st.modify_date
            
            ORDER BY st.create_date
            

            【讨论】:

            • 我可以添加建议吗?我认为 JOIN 也应该在 ic.TABLE_SCHEMA = schema_name(st.schema_id) 上,否则,如果你有同名但不同模式的表,你会得到重复!
            猜你喜欢
            • 1970-01-01
            • 2014-08-29
            • 1970-01-01
            • 1970-01-01
            • 2019-12-06
            • 2018-02-14
            • 1970-01-01
            • 1970-01-01
            • 2023-01-18
            相关资源
            最近更新 更多