MySQL一个语句查出各种整形占用字节数及最大最小值

直接上码:

 

select 'bigint unsigned' as type ,'8' as bytes ,~0 as max_num,0 as min_num union
select 'int unsigned','4',~0>>32,0 union
select 'mediumint unsigned','3',~0>>40,0 union
select 'smallint unsigned','2',~0>>48,0 union
select 'tinyint unsigned','1',~0>>56,0 union
select 'signed bigint','8',~0>>1,-(1<<63) union
select 'signed int','4',~0>>33,-(1<<31) union
select 'signed mediumint','3',~0>>41,-(1<<23) union
select 'signed smallint','2',~0>>49,-(1<<15) union
select 'signed tinyint','1',~0>>57,-(1<<7);

  

+--------------------+-------+----------------------+----------------------+
| type               | bytes | max_num              | min_num              |
+--------------------+-------+----------------------+----------------------+
| bigint unsigned    | 8     | 18446744073709551615 |                    0 |
| int unsigned       | 4     |           4294967295 |                    0 |
| mediumint unsigned | 3     |             16777215 |                    0 |
| smallint unsigned  | 2     |                65535 |                    0 |
| tinyint unsigned   | 1     |                  255 |                    0 |
| signed bigint      | 8     |  9223372036854775807 | -9223372036854775808 |
| signed int         | 4     |           2147483647 |          -2147483648 |
| signed mediumint   | 3     |              8388607 |             -8388608 |
| signed smallint    | 2     |                32767 |               -32768 |
| signed tinyint     | 1     |                  127 |                 -128 |
+--------------------+-------+----------------------+----------------------+
10 rows in set (0.00 sec)

 

 

 

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

原文地址:https://www.cnblogs.com/zejin2008/p/6024276.html