Este artigo explica a utilização da função de formato SQL e a comparação de desempenho com o SQL CONVERT.
introdução
no artigo SQL Convert Date functions and formats, discutimos o uso da função SQL CONVERT para converter data e hora em múltiplos formatos. Temos uma nova função, o formato SQL, do servidor SQL 2012.
usamos esta nova função para obter saída num formato e Cultura especificados. Ele retorna um tipo de dados NVARCHAR na saída.,
sintaxe da função de formato SQL
formato (valor, formato )
tem os seguintes parâmetros:
- valor: é o valor a fazer a formatação. Deve apoiar o formato do tipo de dados. Você pode se referir à documentação da Microsoft para uma lista de tipos de dados suportados e seu tipo de dados equivalente
- formato: é o formato necessário no qual precisamos da saída. Este parâmetro deve conter um texto válido do formato. NET no tipo de dados NVARCHAR. Podemos referir-nos a tipos de formato em .,NET for more details
- Culture: It is an optional parameter. Por padrão, o servidor SQL usa a linguagem de sessão atual para uma cultura padrão. Nós podemos fornecer uma cultura específica aqui, mas o framework. Net deve apoiá-la., We get an error message in case of invalid Culture
We use the following SQL CONVERT function to get output in format:
1
|
SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS
|
As we know, we require format code in SQL Convert function for converting output in a specific format.,
não precisamos de código de formato na função de formato SQL. Vejamos vários exemplos da função Formato:
SQL formato Data usando a cultura
na seção anterior, nós não usamos o argumento cultura. Como você sabe, é um argumento opcional, então vamos ver que diferença faz se especificarmos isso em uma consulta.
na consulta abaixo, vemos o formato de data usando o argumento d para diferentes culturas. Você pode se referir à tabela de códigos de cultura.,
da mesma forma, se queremos alterar o formato de d para f, na consulta acima, dá o seguinte resultado:
SQL Formato de Moeda utilizando a Cultura
também podemos formato de moeda usando esta função. Suponha que você gerencia um portal de compras on-line onde os clientes de um país diferente vêm para fazer compras. Você quer exibir os preços do produto em sua moeda., Na consulta seguinte, vamos usar a função FORMAT para mostrar o preço com um símbolo de moeda:
formato de Número utilizando a função de formatação
Escapar dois Pontos e Períodos em FORMATO SQL função
devemos evitar dois pontos e períodos nesta função, e ele está aderindo ao .NET CLR regras bem. Nós podemos usar os colons e o período como o segundo parâmetro, e o primeiro parâmetro deve ser um backslash., No exemplo seguinte, vamos ver a segunda declaração de formato salta os dois pontos no tempo especificado:
comparação de desempenho do formato SQL e função de conversão SQL
exploramos os casos de uso da função de formato. Você pode pensar que devemos parar de usar a função SQL CONVERT e começar a usar o formato SQL. Espere! Vamos fazer uma comparação entre o formato SQL e o SQL CONVERT.,v>
Query4: Select all records from TestPerfomance order by ID column and use FORMAT function for the InputTime column:
1
2
3
4
|
SELECT FORMAT(InputTime, ‘yyyy-MM-dd’)
FROM TestPerformance
ORDER BY id;
GO 10
|
We can use DMV sys.,dm_exec_query_stat e sys. dm_exec_sql_text para obter os dados de comparação de desempenho das declarações seleccionadas que executámos acima.
Temos a seguinte saída do DMV:
Para entender melhor, vamos ver estes dados em um gráfico:
Olhar para o gráfico para consulta 2, 3 e 4.,
- ficamos com alta tempo decorrido para a consulta que utiliza o SQL função de FORMATAR
- Consultas que utilizam a função de conversão tem melhor desempenho compare a função de FORMATAR
- vemos também total_clr_time para a consulta com a função de FORMATAR enquanto é zero para a função de CONVERTER as consultas porque o formato usa a função .Net CLR tempo de execução
Conclusão
FORMATO SQL função é útil para converter as datas, tempo, número, moeda em um formato especificado. Devemos usá-lo quando exigimos mudanças locais conscientes apenas porque pode causar problemas de desempenho., Devemos usar a função SQL CONVERT para todos os outros casos. Se você planeja usá-lo na produção, eu recomendaria fazer um teste de desempenho completo para a sua carga de trabalho.,
- Autor
- Posts Recentes
Ver todos os posts por Rajendra Gupta
- tempos limite de Sessão no SQL Server Sempre Em Grupos de Disponibilidade – fevereiro 8, 2021
- Realização de pequenas e principais atualizações de versão para o AWS RDS para SQL Server – 29 de janeiro de 2021
- a Implantação da AWS RDS PostgreSQL instâncias – 27 de janeiro de 2021
Deixe uma resposta