GUID의 문자열 길이는 얼마입니까?
에서 ""를 .N'guid'하는 동안에guid에 의해 생성된 GUID입니다.NET(가이드).NewGuid) - 클래스 시스템.안내원.
의길는얼까니마입의 입니까?varcharGUID에게 기대해야 합니까?정적인 길이인가요?
을 사용해야 ?nvarchar(GUID에서 유니코드 문자를 사용할 수 있습니까?)
varchar(Guid.Length)
PS. SQL 행 guid 데이터 형식을 사용하지 않습니다.나는 단지 무엇인지 묻는 것뿐입니다.Guid.MaxLength.
이는 Guid를 포맷하는 방법에 따라 달라집니다.
Guid.NewGuid().ToString()36자(하이픈 포함)
출력:12345678-1234-1234-1234-123456789abcGuid.NewGuid().ToString("D")36자(하이픈 포함, 다음과 동일)ToString())
출력:12345678-1234-1234-1234-123456789abcGuid.NewGuid().ToString("N")32자(숫자 및 문자만 해당, 대괄호 또는 하이픈 없음)
출력:12345678123412341234123456789abcGuid.NewGuid().ToString("B")38자(괄호)
출력:{12345678-1234-1234-1234-123456789abc}Guid.NewGuid().ToString("P")38자(괄호)
출력:(12345678-1234-1234-1234-123456789abc)Guid.NewGuid().ToString("X")68자(16진수)
출력:{0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}}
36, GUID는 0-9A-F(16진수!)만 사용합니다.
12345678-1234-1234-1234-123456789012
GUID는 36자로 일정한 길이입니다.여기에서 GUID의 복잡성에 대해 조금 더 읽을 수 있습니다.
교정기를 보관하려면 길이가 두 개 더 필요합니다.
참고: 36은 대시 사이에 있는 문자열 길이입니다.그것들은 실제로 16바이트 숫자입니다.
여기서 올바른 작업은 다음과 같이 저장하는 것입니다.uniqueidentifier그러면 데이터베이스에서 완전히 색인화할 수 있습니다.차선책은 다음과 같습니다.binary(16)열: 표준 GUID의 길이는 정확히 16바이트입니다.
문자열로 저장해야 하는 경우, 인코딩 방법에 따라 길이가 달라집니다.하지 않는 16진수 인코딩이므로 "(AKA base-16)"는 32자(2자리 16진수)입니다.char(32).
그러나 하이픈을 저장할 수도 있습니다.공간이 부족하지만 데이터베이스에서 기본적으로 BLOB/GUID를 지원하지 않는 경우 Base64 인코딩을 사용하여==접미사; 제공하기 에; 그딩자접 22를다줍니, 래서그사.char(22) 길이를 사용할 에 - 유니드를사용필요필없다습요니도길가이변가코할고없도▁there다없니습-,▁is유필▁so요▁-니▁unicode도▁andlength▁no가.nvarchar(max)예를 들어, 나쁜 선택이 될 것입니다.
GUID는 16바이트 길이(또는 ASCII 16진수의 경우 32바이트)로 제한됩니다.
GUID는 128비트 또는
0 through ffffffffffffffffffffffffffffffff (hex) or
0 through 340282366920938463463374607431768211455 (decimal) or
0 through 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (binary, base 2) or
0 through 91"<b.PX48m!wVmVA?1y (base 95)
네, 최소 20자 길이로, 실제로는 4.25비트 이상을 낭비하고 있기 때문에 95보다 작은 기본값도 사용할 수 있습니다. 기본값 85는 여전히 20자에 들어맞는 가장 작은 기본값입니다.
0 through -r54lj%NUUO[Hi$c2ym0 (base 85, using 0-9A-Za-z!"#$%&'()*+,- chars)
:-)
22바이트, 이렇게 하면:
System.Guid guid = System.Guid.NewGuid();
byte[] guidbytes = guid.ToByteArray();
string uuid = Convert.ToBase64String(guidbytes).Trim('=');
이진 문자열은 원시 바이트 데이터를 저장하고 문자열은 텍스트를 저장합니다.다음과 같은 십진수 값을 저장할 때 이진 데이터 사용: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 서버 다음 예제에서는 고유 식별자 데이터 유형으로 사용자 지정 테이블을 만들고 NEWID를 사용하여 테이블을 기본값으로 채웁니다.기본값인 NEWID()를 할당할 때 새 행과 기존 행은 고객에 대해 고유한 값을 가집니다.ID 열.
-- 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
언급URL : https://stackoverflow.com/questions/968175/what-is-the-string-length-of-a-guid
'programing' 카테고리의 다른 글
| 서비스 대리자가 xcode 8 오류를 거부함(SBMain Workspace) (0) | 2023.05.04 |
|---|---|
| SharedAccessBlobPermissions 값 Add, Create 및 Write의 차이점은 무엇입니까? (0) | 2023.05.04 |
| Bash의 파일에서 마지막 줄 제거 (0) | 2023.05.04 |
| StackExchange에서 항목을 모두 제거/삭제합니다.다시 캐시 (0) | 2023.05.04 |
| ASP.NET MS11-100: 게시된 양식 값의 최대 수에 대한 제한을 변경하려면 어떻게 해야 합니까? (0) | 2023.05.04 |