Jaki jest limit typu pola BIGINT w SQL?Jaki jest limit typu pola BIGINT w SQL?
Czy 100000235882380 czy 100000466411115 jest akceptowalny? (To jest identyfikator z Facebook)
Jaki jest limit typu pola BIGINT w SQL?Jaki jest limit typu pola BIGINT w SQL?
Czy 100000235882380 czy 100000466411115 jest akceptowalny? (To jest identyfikator z Facebook)
Sprawdź w instrukcji obsługi RDBMS używasz. Może nie być taki sam we wszystkich systemach.
MySQL:
https://dev.mysql.com/doc/refman/5.7/en/integer-types.html
PostgreSQL:
https://www.postgresql.org/docs/10/static/datatype-numeric.html
serwera SQL (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql
Czy istnieją inne RDMS, które mają typ BIGINT inny niż SQL Server? Być może podobny typ, ale uważam, że można uznać, że OP używa SQL Server. –
MySQL, Postgres ... jest więcej użytkowników RDBMS z BIGINT * innych niż * SQL Server niż użytkownicy SQL Server. –
Dobra uwaga! Stoję poprawione ... :) –
Tak, według int, bigint, smallint, and tinyint (Transact-SQL):
bigint
-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)
Nic się nie martwić. BIGINT może przechowywać znacznie większe wartości niż te, które posiadasz.
Minimalnie do 9,223,372,036,854,775,807.
To zależy od RDBMS. Na przykład maksymalne wartości BIGINT to 9223372036854775807
(dla podpisu) lub 18446744073709551615
(dla nie podpisanego) na MySQL.
Zapoznaj się z częścią Dokumenty w sekcji Numeric Types, aby uzyskać szczegółowe informacje.
Należy zauważyć, że jest to dla MySQL, inne platformy baz danych mogą, ale nie muszą mieć te same limity (niestety, OP nie określił, która wersja SQL db oznaczała). – Piskvor
@ Piskvor - Dobre połączenie, domniemanie za daleko z mojej strony. Zaktualizuję moją odpowiedź. :-) –
-9 223 372 036 854 775 808 do 9 223 372 036 854 775 807
Ale to można łatwo znaleźć w Google.
-1: Nie wspominając o RDBMS, którego używasz, a odpowiedź może być łatwo dostępna przez RTFM lub za pomocą wyszukiwarki. – bjoernz
Myślę, że do przenoszenia, możesz zamiast tego użyć łańcucha. W moim przypadku zakodowałem wartość dwójek-dopełnienia (BigInteger.toBytes) przy użyciu Base64 i sprawdziłem to przy dostępie do bazy danych. –