T-SQL: Number of characters

Hello:

Below is a snippet of my T-SQL programming where I'm trying to very specifically tell SQL how many characters are to be accommodated by each field.  For example, the "rectype" field is to be 15 characters long.

But, this programming does not seem to be set in logic.  For example, the field "wotclocname" is to start at position 137.  Yet, it starts at position 138.  Somehow, I'm off one character.

What I'm trying to ask is this:  "Is there a better way of telling SQL how many characters a field should be?".  

Sure, I could reduce the number of one of the other fields by 1.  But, I want to know how this logic is flawed.

Thanks!

TBSupport


CAST('140ERWOTCLOC' as CHAR(15)) as rectype,
CAST('16860' as CHAR(16)) as cocode,
CAST('' as CHAR(75)) as filler,
CAST('71912' as CHAR(5)) as tci_id,
CAST('100' as CHAR(25)) as wotclocnumber,
CAST(' Anodyne Medical Services Corp' as CHAR(50)) as wotclocname
LVL 1
TBSupportAsked:
Who is Participating?
 
plusone3055Connect With a Mentor Commented:
its not flawed
Character representation starts @ 0 not 1
hence why your one character off
that's just the way programming works
0
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
You're going to have to show us what the source of data looks like in order to answer this question.

>For example, the "rectype" field is to be 15 characters long.
Do you mean defining the column as 15 characters, or interpreting a source of data as a specific 15 characters?
0
 
TBSupportAuthor Commented:
Thanks, plusone3055!

@Jim Horn:  I mean defining the column as 15 characters.

TBSupport
0
 
SharathData EngineerCommented:
Why don't you cast to VARCHAR with sufficient length?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.