Conversões de tipos de dados

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:

Conversões implícitas

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

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags: |

O seu computador está lento, travando ou dando tela azul… e você não faz ideia do que fazer?

Saiba que isso pode estar te fazendo perder dinheiro — seja com manutenção cara ou oportunidades que você está deixando passar.

Com o Super Técnico 2.0, você aprende na prática como diagnosticar defeitos, montar computadores do zero e fazer upgrades que realmente aumentam o desempenho, mesmo que você esteja começando do absoluto zero.

Você pode usar esse conhecimento para:

✔ Resolver seus próprios problemas sem depender de ninguém
✔ Ganhar dinheiro com manutenção e suporte técnico
✔ Ou até entrar de vez no mercado de TI

Tudo com aulas diretas ao ponto, sem enrolação e focadas no que realmente funciona no dia a dia.

👉 CLIQUE AQUI AGORA e veja todos os detalhes antes que essa oportunidade passe:

Super Técnico 2.0

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação e apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.