获取列的精度值的SQL查询
我需要一个sql查询来获取某些列的精度值。。我主要关心的是十进制类型的列,我需要相同的精度值 我意识到,在某些版本和数据库服务器供应商中,这样做是可能的。如果您能列出其中一些,那就太好了。对于SQL Server,它是:获取列的精度值的SQL查询,sql,sql-server,oracle,Sql,Sql Server,Oracle,我需要一个sql查询来获取某些列的精度值。。我主要关心的是十进制类型的列,我需要相同的精度值 我意识到,在某些版本和数据库服务器供应商中,这样做是可能的。如果您能列出其中一些,那就太好了。对于SQL Server,它是: select object_name(object_id), name, precision from sys.columns 甲骨文: SELECT DATA_LENGTH, DATA_PRECISION FROM ALL_TAB_COLUMNS WHERE TABLE_N
select object_name(object_id), name, precision from sys.columns
甲骨文:
SELECT DATA_LENGTH, DATA_PRECISION
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = :TableName
AND COLUMN_NAME = :ColumnName
Firebird(+Interbase):
MySql(未测试!):
对于SQL Server,您还可以在
信息\u架构.列中使用数值\u精度
我认为这很可能是可移植的。用于FireBird和InterBase
SELECT
RDB$FIELD_PRECISION, RDB$FIELD_SCALE
FROM RDB$FIELDS
WHERE RDB$FIELD_NAME = columnsDomainName
对于sql server:
select precision from sys.columns where name='<column_name>'
从sys.columns中选择精度,其中name=''
对于oracle:
select data_precision from all_tab_columns where column_name = '<columnName>'
从列名称为“”的所有列中选择数据精度
select precision from sys.columns where name='<column_name>'
select data_precision from all_tab_columns where column_name = '<columnName>'