- Categorias:
CAST , ::¶
Converte um valor de um tipo de dados em outro tipo de dados. As semânticas de CAST são as mesmas semânticas das funções de conversão TO_ datatype correspondentes. Se a conversão não for possível, um erro é gerado. Para obter mais detalhes, consulte as funções de conversão individuaisTO_ datatype. Para obter mais informações sobre a conversão de tipo de dados e as funções de conversão TO_ datatype, consulte Conversão do tipo de dados.
O operador :: fornece uma sintaxe alternativa para CAST.
- Consulte também:
Sintaxe¶
Argumentos¶
source_exprExpressão de qualquer tipo de dados suportado para ser convertido em um tipo de dados diferente.
target_data_typeO tipo de dados para o qual a expressão deve ser convertida. Se o tipo de dados oferecer suporte a propriedades adicionais, tais como precisão e escala (para números/decimais), as propriedades podem ser incluídas.
RENAME FIELDSPara OBJECTs estruturados, especifica que você deseja alterar o OBJECT para usar diferentes pares chave-valor. Os valores no objeto original são copiados para os novos pares chave-valor na ordem em que aparecem.
Para obter um exemplo, consulte Exemplo: alteração dos nomes de chave em um valor OBJECT.
ADD FIELDSPara OBJECTs estruturados, especifica que você deseja adicionar pares chave-valor ao OBJECT.
Para obter um exemplo, consulte Exemplo: adição de chaves a um valor OBJECT.
Os valores das chaves recém-adicionadas serão definidos como NULL. Se você quiser atribuir um valor a essas chaves, chame a função OBJECT_INSERT.
Notas de uso¶
Se a escala não for suficiente para manter o valor de entrada, a função arredonda o valor.
Se a precisão não for suficiente para manter o valor de entrada, a função gera um erro.
Quando colunas numéricas são explicitamente convertidas em formulários do tipo de dados inteiros durante um descarregamento de dados em arquivos Parquet, o tipo de dados destas colunas nos arquivos Parquet é INT. Para obter mais informações, consulte Converter explicitamente colunas numéricas em tipos de dados Parquet.
Collation specifications aren’t retained when values are cast to text string data types (for example, VARCHAR and STRING). You can include collation specifications when you cast values (for example,
CAST(myvalue AS VARCHAR) COLLATE 'en-ai').Quando você usa a sintaxe alternativa
::, você não pode especificar os argumentosRENAME FIELDSouADD FIELDS.
Exemplos¶
Os exemplos CAST usam os dados da tabela a seguir:
Os exemplos usam a função SYSTEM$TYPEOF para mostrar o tipo de dados do valor convertido.
Converta uma cadeia de caracteres em um número com escala especificada (2):
Converta a mesma cadeia de caracteres em número com a escala 5, usando a notação :::
Converta um número em um número inteiro. Para um inteiro, precisão e escala não podem ser especificadas, portanto, o padrão é sempre NUMBER(38, 0).
Converta um número em uma cadeia de caracteres:
Convert a string to a VARCHAR value with a specified length:
If you are casting a value to the VARCHAR type with a specified length and the value exceeds that length, an error is returned:
Converta um carimbo de data/hora em uma data: