Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Trong SQL làm cách nào để lấy giá trị lớn nhất cho một số nguyên?

Trong Mysql, có một thủ thuật rẻ tiền để làm điều này:

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

dấu ngã là sự phủ định theo từng bit. Giá trị kết quả là một bigint. Xem: http://dev.mysql .com / doc / refman / 5.1 / en / bit-functions.html # operator_bitwise-invert

Đối với các kiểu số nguyên khác, bạn có thể sử dụng toán tử bithift phù hợp >> như vậy:

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. Điền DataTable trong C # bằng MySQL

  2. Đặt lại mật khẩu gốc MySQL khi không xác định được mật khẩu hiện tại

  3. Tham gia còn lại, tổng và đếm nhóm theo

  4. Mệnh đề IN trong mysql nodejs

  5. Cách thiết lập thực thể (học thuyết) cho chế độ xem cơ sở dữ liệu trong Symfony 2