As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Função CONVERT
Assim como aFunção CAST, a função CONVERT converte um tipo de dados em outro tipo de dados compatível. Por exemplo, é possível converter uma string em uma data ou um tipo numérico em uma string. CONVERT executa uma conversão em runtime, o que significa que a conversão não altera o tipo de dado de um valor em uma tabela de origem. Isso é alterado somente no contexto da consulta.
Determinados tipos de dados exigem uma conversão explícita para outros tipos de dados usando a função CONVERT. Outros tipos de dados podem ser convertidos implicitamente, como parte de outro comando, sem usar CAST ou CONVERT. Consulte Compatibilidade e conversão dos tipos.
Sintaxe
CONVERT ( type, expression )
Argumentos
- tipo
-
Um dos tipos de dados suportadosTipos de dados, exceto para os tipos de dados VARBYTE, BINARY e BINARY VARYING.
- expressão
-
Uma expressão que avalia para um ou mais valores, tal como um nome de coluna ou um literal. A conversão de valores nulos retorna nulos. A expressão não pode conter cadeias de caracteres em branco ou vazias.
Tipo de retorno
CONVERT retorna o tipo de dados especificado pelo argumento type.
nota
AWS Clean Rooms retorna um erro se você tentar realizar uma conversão problemática, como uma conversão DECIMAL que perde a precisão, como a seguir:
SELECT CONVERT(decimal(2,1), 123.456);
ou uma conversão INTEGER que causa um transbordamento:
SELECT CONVERT(smallint, 12345678);
Exemplos
A consulta a seguir usa a função CONVERT para converter uma coluna de números decimais em inteiros.
SELECT CONVERT(integer, pricepaid) FROM sales WHERE salesid=100;
Este exemplo converte um número inteiro em uma string.
SELECT CONVERT(char(4), 2008);
Neste exemplo, a data e hora atuais são convertidas em um tipo de dados de caractere variável:
SELECT CONVERT(VARCHAR(30), GETDATE());
getdate --------- 2023-02-02 04:31:16
Este exemplo converte a coluna saletime para remover as datas de cada linha e manter apenas a hora.
SELECT CONVERT(time, saletime), salesid FROM sales order by salesid limit 10;
O exemplo a seguir converte dados de caracteres variáveis em objetos de data e hora.
SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;