a partir do servidor SQL 2012, poderá formatar os tipos numéricos usando a função T-SQL FORMAT(). Esta função Aceita três argumentos; o número, o formato e um argumento opcional de “cultura”.

O formato é fornecido como uma cadeia de formato. Um texto de formato define como a saída deve ser formatada.

Aqui está um exemplo:

SELECT FORMAT(1, 'N');

Resultado:

1.00

neste caso, eu usei o N como o segundo argumento., Este é o especificador de formato numérico padrão para o número. This particular format specifier (N) results in the output being formatted with integral and decimal digits, group separators, and a decimal separator with optional negative sign. This argument is case-insensível, so either N or n is fine.,

casas Decimais

Aqui está outro exemplo, desta vez usando N1 para especificar que queremos apenas uma casa decimal:

SELECT FORMAT(1, 'N1');

Resultado:

1.0

Mas você também pode aumentar o número de casas decimais também:

SELECT FORMAT(1, 'N7');

Resultado:

1.0000000

nestes exemplos, o 1 e 7 são conhecidos como especificadores de precisão. os especificadores de precisão são opcionais., Eles podem ser um valor de 0 a 99, que especifica a precisão do resultado. Como ele funciona depende do especificador de formato que está sendo usado. Para alguns especificadores de formato, irá especificar o número total de dígitos no resultado, para outros irá especificar o número de casas decimais. Noutros casos, será totalmente ignorado. Veja a lista completa dos especificadores de Formato numérico padrão para ver como os especificadores de precisão afetam a saída de cada especificador de formato.

percentagem

os seguintes exemplos usam o argumentoP, que forma o número como um valor percentual., Ele multiplica o número por 100, em seguida, adiciona um sinal de percentagem localizado.

SELECT FORMAT(1, 'P') AS 'Example 1', FORMAT(.375, 'P') AS 'Example 2', FORMAT(.0375, 'P', 'tr-tr') AS 'Example 3';

Resultado:

Example 1 Example 2 Example 3--------- --------- ---------100.00 % 37.50 % %3,75 

Note que o “Exemplo 3” inclui um terceiro argumento, que especifica o idioma a ser usado na saída. Neste caso, eu uso tr-tr para Turco. Isto resulta no sinal de porcentagem sendo pré-adicionado ao número (em vez de adicionado, como os outros). Também resulta na utilização de uma vírgula como separador decimal.

Se você não fornecer o argumento “cultura”, a linguagem da sessão atual é usada.,

Como poderá imaginar, poderá obter resultados bastante diferentes dependendo da sua língua actual ou do valor de qualquer argumento de “cultura”. Veja como a configuração da linguagem pode afetar os resultados do seu formato() para mais exemplos.

moeda

pode utilizar C para devolver um valor monetário.

SELECT FORMAT(1, 'C');

Resultado:

$1.00

Você também pode adicionar o locale como um terceiro parâmetro.,

Here are some examples:

SELECT FORMAT(1, 'C', 'fr-FR') AS France, FORMAT(1, 'C', 'th-TH') AS Thailand, FORMAT(1, 'C', 'ja-JP') AS Japan;

Result:

France Thailand Japan------ -------- -----1,00 € ฿1.00 ¥1 

Exponential (Scientific)

You can use E to specify exponential notation.

SELECT FORMAT(1234.56789, 'E');

Result:

1.234568E+003 

Hexadecimal

You can even format a number as hexadecimal., Para fazer isso, use o X argumento:

SELECT FORMAT(10, 'X');

Resultado:

A

Aqui está outro exemplo, desta vez com um número maior:

SELECT FORMAT(7145, 'X');

Resultado:

1BE9

Formato Personalizado

Você também pode criar seu próprio formato personalizado utilizando uma cadeia de caracteres de formato numérico personalizado. Isto consiste de uma série de especificadores de formato numérico personalizado que fornecem um padrão para o seu número.,

Este é mais fácil explicado com um exemplo:

SELECT FORMAT(123456789, '##-###-####');

Resultado:

12-345-6789

neste caso, eu uso o espaço reservado para dígito (#). A substituição do algarismo permite-me indicar um formato para o número, usando o símbolo # como substituição para cada número.

Vírgulas

Outro exemplo:

SELECT FORMAT(123456789, '#,#');

Resultado:

123,456,789

Zeros à esquerda

em Outro formato numérico personalizado especificador de zero (0)., Você pode usar isso para preencher um número com zeros à esquerda:

SELECT FORMAT(7, '000') AS 'Example 1', FORMAT(123, '0000') AS 'Example 2', FORMAT(123, '00000') AS 'Example 3';

Resultado:

Example 1 Example 2 Example 3--------- --------- ---------007 0123 00123 

Você também pode usá-lo para remover zeros:

SELECT FORMAT(0123, '000') AS 'Example 1', FORMAT(0123, '0000') AS 'Example 2', FORMAT(000123, '00000') AS 'Example 3';

Resultado:

Example 1 Example 2 Example 3--------- --------- ---------123 0123 00123 

Numeric Especificadores de Formato de Referência

os artigos A seguir contêm todos os especificadores de formato numérico que você pode usar com o FORMAT() função, juntamente com o T-SQL exemplos.,

  • Padrão de Cadeias de caracteres de Formato Numérico
  • Personalizado Cadeias de caracteres de Formato Numérico

Estes são os mesmos especificadores de formato que são suportados pelo .NET Framework (FORMAT() função depende .NET Framework).

data e hora

a função FORMAT() também lhe permite formatar a data e a hora.

Date and time has a separate set of format specificers:

  • Standard Date and Time Format Strings
  • Custom Date and Time Format Strings

Deixe uma resposta

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