我指的是Java Constant Field Values,并考虑是否可以使用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 |
+--------------+---------------+--------------+---------------+-----------+
以上结果为storage and range values defined for MySQL integer data type MySQL中的其他数据类型存储要求如定义here。
我只提供了数值数据类型的示例,但我也期待其他数据类型的可能性。
我知道我们只能select
列和表达式,但试图了解SQL中是否存在像Java和其他编程语言一样的工具。
答案 0 :(得分:1)
如果您的意思是Sql Server,您可以从sys.types表中获取该信息。如果你这样做:
select * from sys.types
where name='int'
你可以检查max_length,它表示该类型的最大长度(以字节为单位)。所以int = 4 bites whihc给你-2 ^ 31(-2,147,483,648)到2 ^ 31-1(2,147,483,647)