I want to create a varchar column in SQL that should contain N'guid'
while guid
is a generated GUID by .NET (Guid.NewGuid) - class System.Guid.
What is the length of the varchar
I should expect from a GUID? Is it a static length?
Should I use nvarchar
(will GUID ever use Unicode characters)?
varchar(Guid.Length)
PS. I don't want to use a SQL row guid data-type. I am just asking what is Guid.MaxLength
.
It depends on how you format the Guid:
Guid.NewGuid().ToString()
= 36 characters (Hyphenated)
outputs: 12345678-1234-1234-1234-123456789abc
Guid.NewGuid().ToString("D")
= 36 characters (Hyphenated, same as ToString()
)
outputs: 12345678-1234-1234-1234-123456789abc
Guid.NewGuid().ToString("N")
= 32 characters (Digits only)
outputs: 12345678123412341234123456789abc
Guid.NewGuid().ToString("B")
= 38 characters (Braces)
outputs: {12345678-1234-1234-1234-123456789abc}
Guid.NewGuid().ToString("P")
= 38 characters (Parentheses)
outputs: (12345678-1234-1234-1234-123456789abc)
Guid.NewGuid().ToString("X")
= 68 characters (Hexadecimal)
outputs: {0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}}
36, and the GUID will only use 0-9A-F (hexidecimal!).
12345678-1234-1234-1234-123456789012
That's 36 characters in any GUID--they are of constant length. You can read a bit more about the intricacies of GUIDs here.
You will need two more in length if you want to store the braces.
Note: 36 is the string length with the dashes in between. They are actually 16-byte numbers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With