【问题标题】:SQL Server: Computed Column defintions retrievable from Database?SQL Server:可从数据库中检索的计算列定义?
【发布时间】:2011-02-18 22:06:32
【问题描述】:

我想从数据库中查询计算列的定义,但找不到似乎可以执行我想要的命令...

例如,如果一列定义为:

CallDT AS (CONVERT([datetime],dateadd(second,[StartDate],'01/01/1970'),(0)))

在 DDL 中,我想在数据库上运行一个命令来检索那个“AS”语句,这样我就可以将它与它的预期值进行比较。 (我正在开发一个 SQL 解析器,它将现有数据库与 DDL 定义进行比较)...

这可能吗?

【问题讨论】:

    标签: sql sql-server database calculated-columns


    【解决方案1】:

    这适用于 SQL Server 2008

    create table dbo.Foo
    (
    StartDate int,
    CallDT AS (CONVERT([datetime],dateadd(second,[StartDate],'01/01/1970'),(0)))
    )
    
    select definition 
    from sys.computed_columns 
    where name='CallDT' and object_id=object_id('dbo.Foo')
    

    【讨论】:

      【解决方案2】:

      试试这个:

      SELECT
          name, definition    
      FROM 
          sys.computed_columns
      

      应该在 SQL Server 2005 及更高版本中工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 2020-07-25
        • 2014-01-05
        • 1970-01-01
        • 1970-01-01
        • 2019-01-20
        • 2013-06-27
        相关资源
        最近更新 更多