tags:

views:

89

answers:

3

I have a database with a field named Field1 that has 100 nchars per entry. Each time I add a value, it is stored as:

"value     (100-ValueLength Spaces)        "

So Basically each stored value has a string of spaces after it. This is getting to be an issue when I try doing:

if (value == "Example")

because of all of the empty spaces after the string. How can I get it so the stored values don't have all of these trailing spaces?

+2  A: 

Use the sql LTRIM and RTRIM functions when inserting.

thelost
I'm using LINQ to insert, is there a LINQ equivalent to what you're talking about?
Soo
Then simply apply Trim to the string, there's no need to use sql functions in this case.
thelost
+4  A: 

If you want a variable-length string, use nvarchar(100) instead of nchar(100). The later always has 100 characters, the former can have up to 100 characters, but doesn't fill up the space.

Lukáš Lalinský
Got it. When I started building my database, I didn't know the difference between nchar and nvarchar, and opted to use nchar, and now I realize the mistake I made.
Soo
+2  A: 

Are you able to use a nvarchar, so that way there isnt padding added if you don't meet the required string length. If so that might be better then constantly having to trim your string entry.

Justin Gregoire
I just read up on the difference between nvarchar and nchar. I will try implementing this field type and see if that helps.
Soo