A maioria dos que utilizam bancos de dados sabe que há comandos específicos que são praticamente uma "mão na roda", por assim dizer, pois nos ajudam, e em muito, em algumas necessidades específicas.
Bem, neste artigo falarei de dois destes comandos, conhecidos também como Transact-SQL, para o SQL Server .
Que tal converter uma expressão de um certo tipo de dado para outro tipo?
O CONVERT e o CAST executam tal funcionalidade.
Sintaxe do comando CAST:
CAST(coluna AS tipo(comprimento))
Sintaxe do comando CONVERT:
CONVERT(tipo(comprimento), coluna , estilo)
Onde:
Coluna:
É o campo o qual quer se aplicar o CAST ou o CONVERT.
Tipo:
É o tipo de dados alvo, exemplo: varchar(), int, binary, etc.
Comprimento:
É um parâmetro opcional de tipos nchar, nvarchar, char, varchar, binary, ou varbinary.
Para o CONVERT, se o comprimento não for especificado, o padrão é de 30 caracteres.
Estilo:
É o estilo, ou formato, de data desejada para conversão.
Exemplos:
Neste exemplo o CONVERT e o CAST redimensionam o campo com 2 casas decimais para 4 casas:
DECLARE @Variavel DECIMAL(5, 2)
SET @Variavel = 20.55
Usando CONVERT:
SELECT
CONVERT(decimal(10,4),
CONVERT(varbinary(20), @Variavel))
Usando CAST
SELECT
CAST(CAST(@Variavel AS varbinary(20)) AS decimal(10,4))
Neste exemplo o CAST pega os 10 primeiros caracteres:
DECLARE @Variavel varchar(25)
SET @Variavel = 'SQL Server Imasters'
SELECT
@Variavel AS DescricaoCompleta ,
CAST(@Variavel AS char(10)) AS Descricao10
Exemplo com Datas:
Neste exemplo o CAST converte a data atual para o formato extenso EUA e o CONVERT para o formato padrão BR
SELECT
GETDATE() AS Data,
CAST(GETDATE() AS varchar(30)) AS DataExtensoEUA,
CONVERT(varchar(30), GETDATE(), 103) AS DataPadraoBR
Há uma pequena confusão de interpretação do SQL Server com respeito a datas.
Os anos com dois dígitos têm uma interrupção padrão em 2049, isto é, o ano de dois dígitos 49 é interpretado como 2049, porém o ano de dois dígitos 50 é interpretado como 1950. Muitas aplicações cliente, tais como aquelas baseadas em objetos de automatização, usam o ano de interrupção padrão 2030. O SQL Server fornece a opção de configuração do ano interrupção padrão.
Eu sempre recomendo a utilização de quatro dígitos no que se refere a ano justamente para não haver confusões neste sentido.
Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.
por Colunista Portal - Educação
O Portal Educação possui uma equipe focada no trabalho de curadoria de conteúdo. Artigos em diversas áreas do conhecimento são produzidos e disponibilizados para profissionais, acadêmicos e interessados em adquirir conhecimento qualificado. O departamento de Conteúdo e Comunicação leva ao leitor informações de alto nível, recebidas e publicadas de colunistas externos e internos.
UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93