[ https://issues.apache.org/jira/browse/FLINK-24413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17427681#comment-17427681 ]
Timo Walther commented on FLINK-24413: -------------------------------------- I'm fine with being strict. Everything else is rather confusing for users. My fear is mostly that we commit to something that we cannot fulfill. For CAST we could, but at other locations (e.g. {{DataStructureConverter}}) we let strings in without checking their length. And for other functions such as the recently added JSON_OBJECT even Calcite returns VARCHAR(2000) which is clearly wrong. > Casting to a CHAR() and VARCHAR() doesn't trim the string to the specified > precision > ------------------------------------------------------------------------------------ > > Key: FLINK-24413 > URL: https://issues.apache.org/jira/browse/FLINK-24413 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / API > Reporter: Marios Trivyzas > Priority: Major > > *CAST**('abcdfe' AS CHAR(3))* should trim the string to 3 chars but currently > returns the whole string *'abcdfe'*. > > PostgreSQL and Oracle for example behave as such: > postgres=# select '123456afas'::char(4); > bpchar > -------- > 1234 > (1 row) > postgres=# select '123456afas'::varchar(5); > varchar > --------- > 12345 > (1 row) -- This message was sent by Atlassian Jira (v8.3.4#803005)