String biner menyimpan data byte mentah, sementara string karakter menyimpan teks. Gunakan data biner saat menyimpan nilai hexi-desimal seperti SID
, GUID
dan sebagainya. Tipe data uniqueidentifier berisi pengidentifikasi unik global, atau GUID. Nilai ini diturunkan dengan menggunakan fungsi NEWID () untuk mengembalikan nilai yang unik untuk semua objek. Ini disimpan sebagai nilai biner tetapi ditampilkan sebagai string karakter.
Berikut ini sebuah contoh.
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
Berlaku untuk: SQL Server Contoh berikut membuat tabel cust dengan tipe data pengenal unik, dan menggunakan NEWID untuk mengisi tabel dengan nilai default. Dalam menetapkan nilai default NEWID (), setiap baris baru dan yang sudah ada memiliki nilai unik untuk kolom 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
tidak memiliki "panjang tali" implisit; Itu semua tergantung pada format yang digunakan dalam ToString (Argumen tidakToString
menggunakan format "D"). Saya lebih suka "B" karena lebih mudah untuk "melihat bahwa itu GUID", tapi itu hanya keakraban dan konvensi.