Funções de conversão¶
Essa família de funções pode ser usada para converter uma expressão de qualquer tipo de dados Snowflake em outro tipo de dados.
Neste tópico:
Lista de funções¶
Subcategoria |
Função |
Notas |
---|---|---|
Qualquer tipo de dados |
||
Versão de tratamento de erros de CAST. |
||
Tipos de dados textos/caracteres/binários |
||
Versão de tratamento de erros de TO_BINARY. |
||
Tipos de dados numéricos |
||
Versões de tratamento de erros de TO_DECIMAL, TO_NUMBER etc. |
||
Versão de tratamento de erros de TO_DOUBLE. |
||
Tipo de dados booleanos |
||
Versão de tratamento de erros de TO_BOOLEAN. |
||
Tipos de dados de data e hora |
||
Versão de tratamento de erros de TO_DATE. |
||
Versão de tratamento de erros de TO_TIME. |
||
Versões de tratamento de erros de TO_TIMESTAMP etc. |
||
Tipos de dados semiestruturados |
||
Tipos de dados geoespaciais |
||
Versão de tratamento de erros de TO_GEOGRAPHY |
||
Versão de tratamento de erros de TO_GEOMETRY |
||
Funções de conversão de tratamento de erros¶
As funções de conversão com um prefixo TRY_ são versões especiais de suas respectivas funções de conversão. Essas funções retornam um valor NULL em vez de apresentar um erro quando a conversão não pode ser realizada:
Essas funções aceitam apenas expressões de cadeia de caracteres (isto é, tipo de dados VARCHAR ou CHAR) como entrada.
Importante
Essas funções de conversão de tratamento de erros são otimizadas para situações em que os erros de conversão são pouco frequentes:
Se não houver erros (ou houver muito poucos), eles não devem gerar um impacto visível no desempenho.
Se houver um grande número de falhas de conversão, o uso dessas funções pode resultar em um desempenho significativamente mais lento. Além disso, ao utilizá-las com o tipo VARIANT, algumas operações podem resultar em redução de desempenho.
Formatos numéricos em funções de conversão¶
As funções TO_DECIMAL , TO_NUMBER , TO_NUMERIC e TO_DOUBLE aceitam um parâmetro opcional que especifica o formato da cadeia de caracteres de entrada, se a expressão de entrada avaliar para uma cadeia de caracteres. Para obter mais informações sobre os valores que esse parâmetro pode ter, consulte Modelos de formato SQL.
Formatos de data e hora em funções de conversão¶
As funções a seguir permitem especificar a data, hora ou formato de carimbo de data/hora esperado para analisar ou produzir uma cadeia de caracteres:
Você especifica o formato em um argumento opcional, usando os seguintes elementos que não diferenciam maiúsculas e minúsculas para descrever o formato:
Elemento de formato |
Descrição |
---|---|
|
Ano com quatro dígitos. |
|
Ano de dois dígitos, controlado pelo parâmetro de sessão TWO_DIGIT_CENTURY_START. Por exemplo, quando definido como |
|
Mês de dois dígitos ( |
|
Nome do mês completo ou abreviado. |
|
Nome completo do mês. |
|
Dia do mês com dois dígitos ( |
|
Dia da semana abreviado. |
|
Dois dígitos para hora ( |
|
Dois dígitos para hora ( |
|
Antes do meio-dia ( |
|
Dois dígitos para minuto ( |
|
Dois dígitos para o segundo ( |
|
Segundos fracionários com precisão de |
|
Hora e minuto do fuso horário, ajustados em relação ao UTC. Pode ser prefixado por |
|
Ano de quatro dígitos no formato ISO, que são negativos para anos BCE. |
Nota
Quando se utiliza um formato somente de data, presume-se que a hora associada seja a meia-noite desse dia.
Qualquer elemento no formato entre aspas duplas ou elementos diferentes dos elementos acima é analisado/formatado sem ser interpretado.
Para obter mais detalhes sobre intervalos válidos, número de dígitos e práticas recomendadas, consulte Informações adicionais sobre o uso de formatos de data, hora e carimbo de data/hora.
Notas de uso¶
Qualquer elemento no formato entre aspas duplas ou elementos diferentes dos elementos acima é analisado/formatado sem ser interpretado.
Exemplos¶
Converta uma cadeia de caracteres em uma data usando um formato de entrada especificado de dd/mm/yyyy
. O formato de exibição das datas na saída é determinado pelo parâmetro de sessão DATE_OUTPUT_FORMAT (padrão YYYY-MM-DD
).
SELECT TO_DATE('3/4/2024', 'dd/mm/yyyy');
+-----------------------------------+
| TO_DATE('3/4/2024', 'DD/MM/YYYY') |
|-----------------------------------|
| 2024-04-03 |
+-----------------------------------+
Converta uma data em uma cadeia de caracteres e especifique um formato de saída de data de mon dd, yyyy
.
SELECT TO_VARCHAR('2024-04-05'::DATE, 'mon dd, yyyy');
+------------------------------------------------+
| TO_VARCHAR('2024-04-05'::DATE, 'MON DD, YYYY') |
|------------------------------------------------|
| Apr 05, 2024 |
+------------------------------------------------+
Formatos binários em funções de conversão¶
TO_CHAR , TO_VARCHAR e TO_BINARY aceitam um argumento opcional especificando o formato esperado para analisar ou produzir uma cadeia de caracteres.
O formato pode ser uma das seguintes cadeias de caracteres (sem distinção de maiúsculas e minúsculas):
HEX
BASE64
UTF-8
Para obter mais informações sobre esses formatos, consulte Visão geral dos formatos binários com suporte.
Para obter exemplos de utilização desses formatos, consulte a seção de exemplos de Entrada e saída de binários.