cadenas binarias RAW- datos de bytes, mientras que las cadenas de caracteres almacenan texto. Use datos binarios cuando almacene valores hexadecimales como SID
, GUID
, etc. El tipo de datos uniqueidentifier contiene un identificador único global, o GUID. Este valor de se obtiene al usar la función NEWID() para devolver un valor que es único para todos los objetos. Se almacena como un valor binario pero se muestra como una cadena de caracteres.
Aquí hay un ejemplo.
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
artículo se refiere a: Servidor SQL el siguiente ejemplo se crea la tabla Cust con un tipo de datos uniqueidentifier, y utiliza NEWID para llenar la mesa con un valor por defecto. Al asignar el valor predeterminado de NEWID(), cada fila nueva y existente tiene un valor único para la columna 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
Nota: 'Guid.NewGuid' no tiene una" longitud de cadena "implícita; Todo depende del formato utilizado en [ToString] (http://msdn.microsoft.com/en-us/library/97af8hh4.aspx) (El no-argumento 'ToString' utiliza el formato" D "). Prefiero "B" ya que es más fácil "ver que es un GUID", pero eso es solo familiaridad y convención. –
¿por qué no solo guardarlo como un identificador único de 16 bytes? –