Novidades – SQL Server 2012 – Novas Funções Textuais

Pessoal, bom dia.

Tudo bem?

Estou de volta com mais uma novidade apresentada pela Microsoft com o lançamento do SQL Server 2012 em Abril deste ano. Como todo novo produto, existem milhares e milhares de novidades, aprimoramentos, recursos removidos, como também, novos recursos que na verdade já deveriam estar presente em versões passadas.

É justamente sobre estes recursos que já deveriam estar presentes em versões anteriores do SQL Server que vou falar um pouco. Nas novidades que vou apresentar hoje, destaco asNovas Funções para se trabalhar com Textos no SQL Server 2012, mais especificamente as funções:

  • Concat: Responsável em efetuar concatenação de seus parâmetros realizando a conversão se necessário.
  • Format: Utilizada para possibilitar a formatação de uma expressão com base em uma máscara ou idioma.

Ambas as funções já deveriam estar presentes desde o SQL Server 2005, por apresentar comportamento similares a recursos atuais que podem ser utilizados como forma de contornar a falta destas funções, principalmente a função Concat. Mas não é fácil entender como a Microsoft prioriza o que deve ou não ser adicionado em cada nova versão ou atualizado, muito menos definir o que realmente este recurso pode trazer de diferencial para o usuários.

Pois bem, passados 7 anos do lançamento do SQL Server 2005 e agora no 2012 estas funções estão presentes e com certeza vão ajudar em muito os Administradores, Desenvolvedores, Programadores de Sistemas e Banco de Dados, trabalhando em conjunto com outras ferramentas da própria Microsoft como por exemplo o Microsoft Visual Studio 2010 ou 2012.

Existe alguns questionamentos presentes para estas novas funções, dentre eles, destaco:

Como a função Concat realiza a concatenação de valores?

CONCAT usa um número variável de argumentos de cadeia de caracteres e os concatena em uma única cadeia de caracteres. Exige um mínimo de dois valores de entrada; caso contrário, é gerado um erro. Todos os argumentos são convertidos implicitamente em tipos de cadeia de caracteres e depois concatenados. Os valores nulos são convertidos implicitamente em uma cadeia de caracteres vazia.varchar(1) is returned. Se todos os argumentos forem nulos, uma cadeia de caracteres vazia do tipo varchar(1) será retornada.

A conversão implícita em cadeias de caracteres segue as regras existentes para conversões de tipo de dados, com base nas funções CAST e CONVERT existentes na Linguagem Transact-SQL.

A função Format utiliza algum mecanismo para identificar o tipo de formatação que deve ser utilizado?

Por padrão a função Format realiza a formatação de um conjunto de valores de acordo com o tipo de formatação definida no seu conjunto de parâmetros. Vale ressaltar que a formatação é realizada com base na máscara especifica e também em relação ao idioma informado.

Ela reconhece a Linguagem ou Idioma para definir a formatação?

Na verdade a função Format não reconhece a Linguagem ou Cultura de Idioma que esta definido no SQL Server ou Sistema Operacional, o que é interpretado por parte da seu algoritmo é o conjunto de valores passados nos parâmetros, dentre eles:

  • A máscara de formatação de valores; e
  • O idioma que deverá ser utilizado como forma de apresentação do valor formatado, sendo este, parâmetro reconhecido como Cultura(Linguagem ou Idioma).

Existe alguma compatibilidade da função Concat e Format em relação ao .Net?

Tanto a função Concat como a Format podem ser utilizadas em aplicações devolvidas em .Net, alem disso, podem utilizar tipos de dados .Net para suas respectivas finalidades.

Muito bem, agora que já conhecemos um pouco de cada função, vou apresentar alguns exemplos de como podemos utilizá-las:

Exemplos – Função – Concat:

1 – Retornando a concatenação da Letra A e B, retornando AB:

SELECT ‘A’ + ‘B’, CONCAT(‘A’,’B’);

2 - Retornando a concatenação dos números 2 e 40, retornando respectivamente 42 e 240:

SELECT 2 + ’40′, CONCAT(2,40);

3 - Retornando a concatenação do número 2 e a palavra AB, retornando um exceção:

SELECT 2 + ‘AB’, CONCAT(2,’AB’);

Exemplos – Função – Format:

1 – Formatando o valor atribuído para variável @Data, com base na máscara ‘d’ e idioma PT-BR, retornando 18/05/2012:

DECLARE @Data DATE = ’2012-05-18′

SELECT FORMAT(@Data,’d’,’PT-BR’)

2 - Formatando o valor atribuído para variável @Data, com base na máscara ‘M’ e idioma PT-BR, retornando 18 de Maio:

DECLARE @Data DATE = ’2012-05-18′

SELECT FORMAT(@Data,’M’,’PT-BR’)

3 – Formatando o valor atribuído para variável @Data, com base na máscara ‘Y’ e idioma PT-BR, retornando Maio de 2012:

DECLARE @Data DATE = ’2012-05-18′

SELECT FORMAT(@Data,’Y’,’PT-BR’)

4 - Formatando o valor atribuído para variável @Data, com base na máscara ‘Y’, retornando 18/5/2012

DECLARE @Data DATE = ’2012-05-18′

SELECT FORMAT(@Data,’dd/M/yyyy’)

Após a apresentação destes exemplos e formas de utilização, vou encerrando mais este post, espero ter apresentado mais uma novidades introduzida no SQL Server 2012 que possa ajudar em muito em suas atividades.

Agradeço a sua atenção e visita ao meu blog.

Nos encontramos em breve.

Até mais.

About these ads

2 ideias sobre “Novidades – SQL Server 2012 – Novas Funções Textuais

  1. Pingback: Melhorias no SQL Server 2012 « Alex Souza

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s