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: |

Seu computador está lento, travando ou dando tela azul? E toda vez que isso acontece você precisa gastar dinheiro com assistência técnica?

A verdade é que continuar sem esse conhecimento pode estar custando muito mais do que você imagina.

Você pode economizar centenas ou até milhares de reais ao longo do tempo fazendo você mesmo a manutenção dos seus computadores. E, se decidir prestar serviços, esse conhecimento também pode se transformar em uma fonte de renda, que pode variar de R$2.000 a R$5.000 por mês ou mais.

Tudo isso com aulas práticas, objetivas e focadas no que realmente funciona, sem enrolação:

✔ 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

A decisão é sua: continuar gastando dinheiro sempre que o computador apresentar um problema ou aprender uma habilidade que pode fazer você economizar e até gerar uma nova fonte de renda.

👉 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 *