SnowConvert AI - PostgreSQL - Comparação de cadeias de caracteres¶
Nas linguagens baseadas em PostgreSQL e PostgreSQL (Greenplum, RedShift, Netezza), ao comparar tipos de dados de comprimento fixo (CHAR, CHARACTER, etc) ou ao comparar tipos de dados de comprimento fixo com tipos de dados varchar, os espaços à direita são ignorados. Isso significa que uma cadeia de caracteres como ‘water ’ (valor com um espaço final) seria considerado igual a 'water' (valor sem um espaço final).
Se você comparar
com
eles são efetivamente os mesmos após os espaços finais.
Enquanto isso, o Snowflake não tem tipos de caracteres de comprimento fixo e adota uma abordagem mais literal para seus tipo de dados VARCHAR, tratando as cadeias de caracteres exatamente como são armazenadas, incluindo quaisquer espaços em branco no final. Portanto, no Snowflake, ‘water ’ não é considerado igual a 'water'.
Para impedir que os espaços finais afetem os resultados da comparação de cadeias de caracteres nas conversões de PostgreSQL para Snowflake, o SnowConvert AI adiciona automaticamente BTRIM a comparações relevantes, conforme identificado por nossa equipe. Isso garante um comportamento consistente.
Amostra de padrões da origem¶
Vamos usar os seguintes dados de script para explicar a comparação de cadeias de caracteres.
NULLIF¶
Tipo de dados varchar¶
Código de entrada:
PostgreSQL¶
Código de saída:
Snowflake¶
Tipos de dados char¶
Código de entrada:
PostgreSQL¶
Código de saída:
Snowflake¶
GREATEST ou LEAST¶
Código de entrada:
PostgreSQL¶
Código de saída: