Mysql
 sql >> база данни >  >> RDS >> Mysql

В SQL как да получа максималната стойност за цяло число?

В Mysql има евтин трик за това:

mysql> select ~0;
+----------------------+
| ~0                   |
+----------------------+
| 18446744073709551615 |
+----------------------+

тилдата е побитово отрицание. Получената стойност е голяма. Вижте:http://dev.mysql .com/doc/refman/5.1/en/bit-functions.html#operator_bitwise-invert

За другите целочислени аромати можете да използвате десния оператор за изместване на битове >> така:

SELECT ~0 as max_bigint_unsigned
,      ~0 >> 32 as max_int_unsigned
,      ~0 >> 40 as max_mediumint_unsigned
,      ~0 >> 48 as max_smallint_unsigned
,      ~0 >> 56 as max_tinyint_unsigned
,      ~0 >> 1  as max_bigint_signed
,      ~0 >> 33 as max_int_signed
,      ~0 >> 41 as max_mediumint_signed
,      ~0 >> 49 as max_smallint_signed
,      ~0 >> 57 as max_tinyint_signed
\G

*************************** 1. row ***************************
   max_bigint_unsigned: 18446744073709551615
      max_int_unsigned: 4294967295
max_mediumint_unsigned: 16777215
 max_smallint_unsigned: 65535
  max_tinyint_unsigned: 255
     max_bigint_signed: 9223372036854775807
        max_int_signed: 2147483647
  max_mediumint_signed: 8388607
   max_smallint_signed: 32767
    max_tinyint_signed: 127
1 row in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - извличане на стойност от друга таблица, ако колоната е нула

  2. Трябва ли да съхранявам цената като десетична или цяло число в Mysql?

  3. MySQL и PHP - как да покажа всички редове, където стойността на полето е равна на x?

  4. Съображения за DevOps за внедряване на готови за производство бази данни

  5. Кога трябва да използвам съставен индекс?