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:
Observe que 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 com dois dígitos, controlado pelo parâmetro de sessão TWO_DIGIT_CENTURY_START, por exemplo, quando definido como |
|
Mês com dois dígitos (01 = janeiro, etc.). |
|
Nome do mês completo ou abreviado. |
|
Nome completo do mês. |
|
Dia do mês com dois dígitos (01 até 31). |
|
Dia da semana abreviado. |
|
Hora com dois dígitos (00 até 23). Você não deve especificar |
|
Hora com dois dígitos (01 até 12). Você pode especificar |
|
Ante meridiem (am) / post meridiem (pm). Use isso somente com |
|
Minuto com dois dígitos (00 até 59). |
|
Segundo com dois dígitos (00 até 59). |
|
Fracionamento de segundos com precisão 0 (segundos) a 9 (nanossegundos), por exemplo |
|
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¶
SELECT TO_DATE('3/4/2013', 'dd/mm/yyyy');
-----------------------------------+
to_date('3/4/2013', 'dd/mm/yyyy') |
-----------------------------------+
2013-04-03 |
-----------------------------------+
SELECT TO_VARCHAR('2013-04-05'::date, 'mon dd, yyyy');
------------------------------------------------+
to_varchar('2013-04-05'::date, 'mon dd, yyyy') |
------------------------------------------------+
Apr 05, 2013 |
------------------------------------------------+
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 Overview of Supported Binary Formats.
Para obter exemplos de utilização desses formatos, consulte a seção de exemplos de Binary Input and Output.