Có cách nào để có được giá trị tối đa có thể được lưu trữ trong bigint mà không cần mã hóa không?giá trị lớn nhất được đại diện bởi bigint
Có hàm hoặc hằng số trả về/chứa giá trị này không?
Có cách nào để có được giá trị tối đa có thể được lưu trữ trong bigint mà không cần mã hóa không?giá trị lớn nhất được đại diện bởi bigint
Có hàm hoặc hằng số trả về/chứa giá trị này không?
Xem câu trả lời được cung cấp trong this similar question. Không có cách nào, theo như tôi biết, lập trình tìm câu trả lời bạn đang tìm kiếm.
Dựa trên nhận xét bạn đã đăng trên câu trả lời khác, điều này sẽ cho phép bạn chỉ phải thay đổi giá trị của mình ở một nơi, thay vì nhiều địa điểm.
Một bigint sẽ luôn luôn hỗ trợ
-2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807)
SQL Server TSQL không định nghĩa này như một hằng số, nhưng nó luôn luôn sẽ là -2^63-2^63-1
một bigint luôn là 8 byte. LUÔN LUÔN. –
Vì vậy, chính xác những gì bạn đang làm với bigint này? –
@Corovei - chúng sẽ thêm một kiểu dữ liệu mới như 'HUGEint' trước khi chúng thay đổi kiểu dữ liệu hiện có. – JNK
Bạn cũng có thể tạo một người dùng đơn giản chức năng được xác định mà trả về giá trị bigint max:
CREATE FUNCTION maxbigint() RETURNS bigint
AS
BEGIN
RETURN CAST(0x7FFFFFFFFFFFFFFF AS bigint)
END
GO
Sau đó, bạn có thể sử dụng nó bất cứ nơi nào bạn muốn bằng cách gọi nó: dbo.maxbigint()
.
Có! Đúng rồi đó! Tôi nghĩ về giải pháp này cũng nhưng tôi cần phải chắc chắn rằng không có được xây dựng trong công cụ để làm điều này. –