Chuỗi nhị phân lưu trữ dữ liệu byte thô, trong khi chuỗi ký tự lưu trữ văn bản. Sử dụng dữ liệu nhị phân khi lưu trữ các giá trị thập phân hexi SID
, GUID
v.v. Kiểu dữ liệu định danh duy nhất chứa định danh duy nhất toàn cầu hoặc GUID. Giá trị này được lấy bằng cách sử dụng hàm NEWID () để trả về một giá trị duy nhất cho tất cả các đối tượng. Nó được lưu trữ dưới dạng giá trị nhị phân nhưng nó được hiển thị dưới dạng chuỗi ký tự.
Đây là một ví dụ.
USE AdventureWorks2008R2;
GO
CREATE TABLE MyCcustomerTable
(
user_login varbinary(85) DEFAULT SUSER_SID()
,data_value varbinary(1)
);
GO
INSERT MyCustomerTable (data_value)
VALUES (0x4F);
GO
Áp dụng cho: SQL Server Ví dụ sau đây tạo bảng lưu trữ với kiểu dữ liệu định danh duy nhất và sử dụng NEWID để điền vào bảng với giá trị mặc định. Khi gán giá trị mặc định của NEWID (), mỗi hàng mới và hàng hiện có một giá trị duy nhất cho cột CustomerID.
-- Creating a table using NEWID for uniqueidentifier data type.
CREATE TABLE cust
(
CustomerID uniqueidentifier NOT NULL
DEFAULT newid(),
Company varchar(30) NOT NULL,
ContactName varchar(60) NOT NULL,
Address varchar(30) NOT NULL,
City varchar(30) NOT NULL,
StateProvince varchar(10) NULL,
PostalCode varchar(10) NOT NULL,
CountryRegion varchar(20) NOT NULL,
Telephone varchar(15) NOT NULL,
Fax varchar(15) NULL
);
GO
-- Inserting 5 rows into cust table.
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,
'90110', 'Finland', '981-443655', '981-443655')
,(NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',
'08737-363', 'Brasil', '(14) 555-8122', '')
,(NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,
'1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')
,(NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,
'8010', 'Austria', '7675-3425', '7675-3426')
,(NEWID(), 'Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,
'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68');
GO
Guid.NewGuid
không có "độ dài chuỗi" ẩn; Tất cả phụ thuộc vào định dạng được sử dụng trong ToString (Không có đối sốToString
sử dụng định dạng "D"). Tôi thích "B" hơn vì "dễ hiểu" đó là HƯỚNG DẪN ", nhưng đó chỉ là sự quen thuộc và quy ước.