Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Hive truncating char datatype when converting to string

Solved Go to solution
Highlighted

Hive truncating char datatype when converting to string

Rising Star

I have noticed an issue in Hive 1.2 where char data is rtrimmed when converted to string. This doesn't occur when converting varchar to string. Is this a bug? or a feature?

select length(cast('abc    ' as char(10))), 
	   length(cast('abc    ' as varchar(10))),
	   length(cast('abc    ' as string));


_c0,_c1,_c2
3,7,7


In the above example I would expect the length of the char field to be 10.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Hive truncating char datatype when converting to string

Rising Star

It appears that this is expected behavior.

I discovered a jira pertaining to it here: https://issues.apache.org/jira/browse/HIVE-13865

3 REPLIES 3

Re: Hive truncating char datatype when converting to string

Expert Contributor

@Benjamin Hopp

Looks like it's a bug, because the Char always fixed length. In this case you have declared it as char(10), even though you have only 3 chars assigned it to, it should not truncate the rest.

Re: Hive truncating char datatype when converting to string

Rising Star

It appears that this is expected behavior.

I discovered a jira pertaining to it here: https://issues.apache.org/jira/browse/HIVE-13865

Re: Hive truncating char datatype when converting to string

Expert Contributor

Good to know this.