Двійкові рядки зберігають сировинні дані, а символьні рядки зберігають текст. Використання двійкових даних при збереженні значень Хесі-десяткові , такі як SID
, GUID
і так далі. Тип даних унікального ідентифікатора містить глобальний унікальний ідентифікатор або 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 Наступний приклад створює таблицю зберігання з типом даних унікального ідентифікатора та використовує 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", але це лише знайомство та умовність.