String Comparison
In PostgreSQL and PostgreSQL-based languages (Greenplum, RedShift, Netezza), when comparing fixed-length data types (CHAR, CHARACTER, etc) or comparing fixed-length data types against varchar data types, trailing spaces are ignored. This means that a string like 'water '
(value with a trailing space) would be considered equal to 'water'
(value without a trailing space).
If you compare
against
They are effectively the same after trailing spaces.
Meanwhile, Snowflake does not have fixed-length character types and takes a more literal approach for its VARCHAR
data type, treating strings exactly as they are stored, including any trailing blanks. Therefore, in Snowflake, 'water '
is not considered equal to 'water'
.
To prevent trailing spaces from affecting string comparison outcomes in PostgreSQL to Snowflake conversions, SnowConvert automatically adds BTRIM
to relevant comparisons as our team has identified. This ensures consistent behavior.
Code Examples
Let's use the following script data to explain string comparison.
NULLIF
Varchar Data Type
Input Code:
Output Code:
Char Data Types
Input Code:
Output Code:
GREATEST or LEAST
Input Code:
Output Code:
Last updated