1

我指的是Java 常量字段值,并考虑是否可以使用 SQL 查询为数据类型检索 边界值(例如MIN_VALUE,在数值数据类型的情况下)。MAX_VALUE

例如

select  
    int.signed_min_value as int_sgnd_min,  
    int.unsigned_min_value as int_usgnd_min,  
    int.signed_max_value as int_sgnd_max,  
    int.unsigned_max_value as int_usgnd_max,  
    int.storage_bytes as int_bytes  
from dual;  

应该会产生

+--------------+---------------+--------------+---------------+-----------+
| int_sgnd_min | int_usgnd_min | int_sgnd_max | int_usgnd_max | int_bytes |
+--------------+---------------+--------------+---------------+-----------+
|  -2147483648 |             0 |   2147483647 |    4294967295 |       4   |
+--------------+---------------+--------------+---------------+-----------+

以上结果是为 MySQL 整数数据类型定义的存储和范围值
MySQL 中的其他数据类型存储要求在此处定义。

我只提供了数字数据类型的示例,但我也期待其他数据类型的可能性。

我确实知道我们只能使用select列和表达式,但试图了解 SQL 中是否有这样的工具,比如 Java 和其他编程语言。

4

1 回答 1

1

如果您的意思是 Sql Server,您可以从 sys.types 表中获取该信息。如果你这样做:

select * from sys.types
where name='int'

您可以检查 max_length,它表示该类型的最大长度(以字节为单位)。所以 int = 4 咬 whihc 给你 -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)

于 2012-07-05T14:15:08.327 回答