java命名空间java.sql接口databasemetadata的类成员方法:
gettypeinfo定义及介绍
本文导语:
gettypeinfo
resultset gettypeinfo()
throws sqlexception
获取此数据库支持的所有数据类型的描述。它们先按照 data_type 排序,然后按照数据类型映射表与相应的 jdbc sql 类型的接近程度排序。
如果数据库支持 sql 独特类型...
gettypeinfo
resultset gettypeinfo()
throws sqlexception
- 获取此数据库支持的所有数据类型的描述。它们先按照 data_type 排序,然后按照数据类型映射表与相应的 jdbc sql 类型的接近程度排序。
如果数据库支持 sql 独特类型,则 gettypeinfo() 将返回一行类型为 distinct 的 type_name 和类型为 types.distinct 的 data_type。如果数据库支持 sql 结构类型,则 gettypeinfo() 将会返回一行类型为 struct 的 type_name 和类型为 types.struct 的 data_type。
如果支持 sql 独特类型和结构类型,则每种类型的信息可以从 getudts() 方法获得。
每个类型描述都有以下列:
- type_name string => 类型名称
- data_type int => 来自 java.sql.types 的 sql 数据类型
- precision int => 最大精度
- literal_prefix string => 用于引用字面值的前缀(可为
null
)
- literal_suffix string => 用于引用字面值的后缀(可为
null
)
- create_params string => 用于创建类型的参数(可为
null
)
- nullable short => 是否可对此类型使用 null。
- typenonulls - 不允许使用 null 值
- typenullable - 允许使用 null 值
- typenullableunknown - 不知道是否可使用 null
- case_sensitive boolean=> 是否区分大小写。
- searchable short => 是否可以基于此类型使用 "where":
- typeprednone - 不支持
- typepredchar - 仅支持 where ..like
- typepredbasic - 除 where ..like 以外都受支持
- typesearchable - 所有 where ..都受支持
- unsigned_attribute boolean => 是否不带符号。
- fixed_prec_scale boolean => 是否可以为钱币值。
- auto_increment boolean => 是否可以用于自动增量值。
- local_type_name string => 类型名称的本地版(可为
null
)
- minimum_scale short => 受支持的最小标度
- maximum_scale short => 受支持的最大标度
- sql_data_type int => 未被使用
- sql_datetime_sub int => 未被使用
- num_prec_radix int => 通常为 2 或 10
对于给定数据类型,precision 列表示服务器支持的最大列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 string 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 rowid 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 null。
- 返回:
resultset
对象,在此对象中,每一行都是一个 sql 类型描述
- 抛出:
sqlexception
- 如果发生数据库访问错误