Support Questions
Find answers, ask questions, and share your expertise

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

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

View solution in original post

3 REPLIES 3

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.

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

View solution in original post

Expert Contributor

Good to know this.