Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dalam SQL bagaimana cara mendapatkan nilai maksimum untuk bilangan bulat?

Di Mysql ada trik murah untuk melakukan ini:

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

tilde adalah negasi bitwise. Nilai yang dihasilkan adalah bigint. Lihat:http://dev.mysql .com/doc/refman/5.1/en/bit-functions.html#operator_bitwise-invert

Untuk rasa integer lainnya, Anda dapat menggunakan operator bitshift kanan >> seperti ini:

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. Setelah pembaruan Windows 10 1803, program saya tidak dapat membuka soket saat dijalankan dari jaringan berbagi

  2. Kode Kesalahan MySQL 1452 Batasan Kunci Asing

  3. Mysql:beberapa tabel atau satu tabel besar?

  4. Tutorial yang bagus tentang cara memperbarui database Mysql Anda dengan formulir PHP?

  5. prosedur mysql untuk memperbarui referensi numerik di baris sebelumnya ketika ada yang diperbarui