O SQL Server realiza algumas conversões de forma automática. Neste post veja as conversões de tipos de dados:
SELECT 1 + '1'
O comando SELECT acima retornará o valor inteiro 2, pois o caractere ‘1’ é automaticamente convertido para o valor inteiro 1. Portanto, a soma é igual a 2.
SELECT '1' + '1'
O comando SELECT acima retornará a string 11, pois os caracteres ‘1’ serão concatenados.
SELECT 'Boa sorte!' + 1
Já a linha acima retornará um erro, pois a string ‘Boa sorte!’ não pode ser convertida.
Por padrão o SQL Server converte automaticamente de strings para inteiro, o contrário não.
Para converter strings manualmente utilizamos a função CAST:
SELECT CAST('1' AS INT) + CAST('2' AS INT)
O comando acima retornará o valor 3.
Conversão de datas do formato americano para o brasileiro
Para convertermos uma data do formato dos EUA para o do Brasil, é preciso utilizar a conversão manual (explícita). Veja:
SELECT NOME,
CAST(DAY(data) AS VARCHAR) + '/' +
CAST(MONTH(data) AS VARCHAR) + '/' +
CAST(YEAR(data) AS VARCHAR) AS "Data convertida"
FROM tabela
No exemplo acima, a data no formato dos EUA é “desmontada” e remontada no formado brasileiro, extraindo as informações do dia, mês e ano da data original, separadas pela barra ‘/’.
Uma forma mais fácil de fazer a conversão acima é utilizando o função FORMAT:
DECLARE @d DATETIME = getdate();
SELECT FORMAT (@d, 'd', 'pt-BR' )
No exemplo acima, foi pego a data do servidor e convertida para o formato brasileiro.
A imagem abaixo mostra todas as conversões de tipos de dados explícitas e implícitas que são permitidas para tipos de dados fornecidos pelo SQL Server.
Isso inclui xml, bigint e sql_variant. Não há nenhuma conversão implícita na atribuição do tipo de dados sql_variant, mas há uma conversão implícita em sql_variant:
Quadrados azuis: Conversão manual (explícita)
Bolinhas laranjas: Conversão automatica (implícita)
Fonte: https://docs.microsoft.com/pt-br/sql/t-sql/data-types/data-type-conversion-database-engine?view=sql-server-2017
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS DETALHES:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários