【问题标题】:SQL query to get the precision value of a columnSQL查询获取列的精度值
【发布时间】:2011-11-11 05:34:51
【问题描述】:

我需要一个 sql 查询来获取某些列的精度值。我主要关心十进制类型的列,我需要相同的精度值。

我意识到在某些版本和供应商的数据库服务器中可以这样做。如果你能列出其中的一些,那就太好了。

【问题讨论】:

    标签: sql sql-server oracle


    【解决方案1】:

    对于 SQL Server,它是:

    select object_name(object_id), name, precision from sys.columns
    

    【讨论】:

      【解决方案2】:

      甲骨文:

      SELECT DATA_LENGTH, DATA_PRECISION
      FROM ALL_TAB_COLUMNS
      WHERE TABLE_NAME = :TableName
      AND COLUMN_NAME = :ColumnName
      

      火鸟(+ Interbase):

      SELECT
             rdb$field_scale,
             rdb$field_precision
      FROM   rdb$relations r
             JOIN rdb$relation_fields rf
               ON rf.rdb$relation_name = r.rdb$relation_name
             JOIN rdb$fields fld
               ON rf.rdb$field_source = fld.rdb$field_name
      WHERE  r.rdb$relation_name = :TableName
             AND rf.rdb$field_name = :ColumnName
      

      MySql(未测试!):

      SELECT
        NUMERIC_PRECISION,  NUMERIC_SCALE
      FROM
        INFORMATION_SCHEMA.COLUMNS
      WHERE
        TABLE_NAME  = :TableName AND
        COLUMN_NAME = :ColumnName
      

      【讨论】:

        【解决方案3】:

        对于 SQL Server,您还可以在 INFORMATION_SCHEMA.COLUMNS 中使用 NUMERIC_PRECISION

        我认为这很可能是可移植的。

        【讨论】:

          【解决方案4】:

          对于 FireBird 和 InterBase

          SELECT 
            RDB$FIELD_PRECISION, RDB$FIELD_SCALE
          FROM RDB$FIELDS
          WHERE RDB$FIELD_NAME = columnsDomainName
          

          【讨论】:

            【解决方案5】:

            对于 sql 服务器:

            select precision from sys.columns where name='<column_name>' 
            

            对于甲骨文:

            select data_precision from all_tab_columns  where column_name = '<columnName>'
            

            【讨论】:

              猜你喜欢
              • 2019-08-13
              • 2023-03-08
              • 2017-09-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-10-12
              • 2022-01-12
              • 2012-01-27
              相关资源
              最近更新 更多