バイナリ文字列は生のバイトデータを格納し、文字列はテキストを格納します。など河西-小数点値記憶するとき、バイナリデータを使用する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次の例では、uniqueidentifierデータ型のカストテーブルを作成し、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」フォーマットを使用します)。「GUIDであることがわかる」ほうが簡単なので「B」を選択しますが、これは慣れ親しみと慣習にすぎません。