SQLShack (Português)

posted in: Articles | 0

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
    Como uma certificação MCSA e Microsoft Certified Trainer em Gurgaon, na Índia, com 13 anos de experiência, Rajendra trabalha para uma variedade de empresas de grande porte com foco em otimização de desempenho, monitoramento, alta disponibilidade e recuperação de desastres estratégias e implementação., Ele é o autor de centenas de artigos autoritários no SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git, e tecnologias relacionadas que foram vistas por mais de 10m leitores até à data. ele é o criador de uma das maiores coleções online gratuitas de artigos sobre um único tópico, com sua série de 50 partes no servidor SQL sempre em grupos de disponibilidade. Com base em sua contribuição para a comunidade de servidores SQL, ele foi reconhecido com vários prêmios, incluindo o prestigiado “melhor autor do ano” continuamente em 2020 e 2021 no SQLShack.,Raj está sempre interessado em novos desafios, então se você precisar de Ajuda em qualquer assunto coberto em seus escritos, ele pode ser alcançado em rajendra.gupta16@gmail.,com
    Ver todos os posts por Rajendra Gupta

    posts mais Recentes por Rajendra Gupta (ver todas)
    • 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

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *