สตริงไบนารีเก็บข้อมูลดิบไบต์ในขณะที่สตริงอักขระเก็บข้อความ ใช้ข้อมูลไบนารีเมื่อการจัดเก็บค่า Hexi-ทศนิยมเช่นSID
,GUID
และอื่น ๆ ประเภทข้อมูล Uniqueidentifier ประกอบด้วยตัวระบุที่ไม่ซ้ำกันทั่วโลกหรือ GUID ค่านี้ได้มาจากการใช้ฟังก์ชัน NEWID () เพื่อส่งคืนค่าที่ไม่ซ้ำกับวัตถุทั้งหมด มันถูกเก็บไว้เป็นค่าไบนารี่ แต่มันจะแสดงเป็นสตริงอักขระ
นี่คือตัวอย่าง
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
นำไปใช้กับ: SQL Server ตัวอย่างต่อไปนี้สร้างตาราง cust ด้วยตัวระบุข้อมูลที่ไม่ซ้ำกันและใช้ NEWID เพื่อเติมตารางด้วยค่าเริ่มต้น ในการกำหนดค่าเริ่มต้นของ NEWID () แต่ละแถวใหม่และแถวที่มีอยู่จะมีค่าที่ไม่ซ้ำกันสำหรับคอลัมน์ 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
ไม่มี "ความยาวสตริง" โดยนัย; ทุกอย่างขึ้นอยู่กับรูปแบบที่ใช้ในToString (ไม่มีการโต้แย้งToString
ใช้การจัดรูปแบบ "D") ฉันชอบ "B" มากกว่าเพราะง่ายกว่าที่จะ "เห็นว่าเป็น GUID" แต่นั่นเป็นเพียงความคุ้นเคยและการประชุม