2011-07-29 46 views
7

Trong bảng sql, tôi có trường bit và giá trị được hiển thị là True, khi tôi cập nhật mã Update table1 set Active='True' nó sẽ cập nhật nhưng giá trị hiện được hiển thị là 1 thay vì True. Làm cách nào để đặt giá trị 'True' thay vì số nguyên trong bảng? Cảm ơn.Cập nhật trường bit sql trong cơ sở dữ liệu

+1

RDBMS gì và giá trị nào hiển thị giá trị là 'True' và sau đó là' 1'? –

+0

đó là phiên bản seql 10.50.1600.1, khi tôi mở bảng để xem dữ liệu hiện có, giá trị là True trong trường Hoạt động (bit). Bây giờ khi tôi làm một bản cập nhật trong studio quản lý thông qua một truy vấn, nó đặt giá trị đó thành 1. Vì vậy, giá trị cũ của tôi trong bảng bây giờ là 1 thay vì True. – user282807

Trả lời

12

Bits trong SQL Server luôn được lưu trữ dưới dạng 1 hoặc 0 trong bitmap.

Tùy chọn "Chỉnh sửa bảng" trong SSMS chỉ dịch thành True hoặc False cho mục đích thuyết trình, điều này không liên quan gì đến cách thực sự được lưu trữ.

+0

Vì vậy, nếu bạn chọn bản ghi nó sẽ chỉ hiển thị như int? – user282807

+0

Đã bị nhầm lẫn khi thực hiện một truy vấn chọn. – user282807

+0

@user - Có. Nếu bạn muốn nó trở lại như một chuỗi, bạn sẽ cần phải làm 'CASE Col khi 1 THEN 'True' WHEN 0 THEN 'False' END' hoặc áp dụng định dạng như vậy trong lớp trình bày. –

Các vấn đề liên quan