a partir de SQL Server 2012, puede formatear tipos numéricos utilizando la función T-SQL FORMAT(). Esta función acepta tres argumentos; el número, el formato y un argumento opcional de «Cultura».

el formato se suministra como una cadena de formato. Una cadena de formato define cómo se debe formatear la salida.

he Aquí un ejemplo:

SELECT FORMAT(1, 'N');

Resultado:

1.00

En este caso, he usado N como segundo argumento., Este es el especificador de formato numérico estándar para Número. Este especificador de formato en particular (N) da como resultado que la salida se formatee con dígitos integrales y decimales, separadores de grupo y un separador decimal con signo negativo opcional. Este argumento no distingue mayúsculas de minúsculas, por lo que N o n está bien.,

Decimal

he Aquí otro ejemplo, esta vez de usar N1 para especificar que sólo queremos un decimal:

SELECT FORMAT(1, 'N1');

Resultado:

1.0

Pero también puede aumentar el número de lugares decimales demasiado:

SELECT FORMAT(1, 'N7');

Resultado:

1.0000000

En estos ejemplos, el 1 y 7 son conocidos como los especificadores de precisión.

los especificadores de precisión son opcionales., Pueden ser un valor de 0 a 99, que especifica la precisión del resultado. Cómo funciona depende del especificador de formato que se utiliza. Para algunos especificadores de formato, especificará el número total de dígitos en el resultado, para otros especificará el número de lugares decimales. En otros casos se ignorará por completo. Consulte la lista completa de especificadores de formato numérico estándar para ver cómo los especificadores de precisión afectan a la salida de cada especificador de formato.

Percent

los siguientes ejemplos utilizan el argumento P, que formatea el número como un valor porcentual., Multiplica el número por 100, luego agrega un signo de porcentaje 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 

tenga en cuenta que el «Ejemplo 3», incluye un tercer argumento, que especifica la cultura para ser utilizado en la salida. En este caso, utilizo tr-tr para Turco. Esto resulta en que el signo de porcentaje se antepone al número (en lugar de agregarse, como los otros). También resulta en una coma Que se utiliza como el separador decimal.

si no proporciona el argumento «culture», se utiliza el lenguaje de la sesión actual.,

como puede imaginar, podría obtener resultados bastante diferentes dependiendo de su idioma actual o el valor de cualquier argumento de «Cultura». Vea cómo la configuración de idioma puede afectar los resultados de FORMAT () para obtener más ejemplos.

Currency

puede utilizar C para devolver un valor de moneda.

SELECT FORMAT(1, 'C');

Resultado:

$1.00

también puede agregar en la configuración regional como tercer 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 ello, utilice la etiqueta X argumento:

SELECT FORMAT(10, 'X');

Resultado:

A

he Aquí otro ejemplo, esta vez con una mayor cantidad:

SELECT FORMAT(7145, 'X');

Resultado:

1BE9

Formato Personalizado

también puede crear su propio formato personalizado mediante el uso de una cadena de formato numérico personalizado. Esto consiste en una serie de especificadores de formato numérico personalizados que proporcionan un patrón para su número.,

Esto es más fácil de explicar con un ejemplo:

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

Resultado:

12-345-6789

En este caso, yo uso el marcador de posición de dígitos (#). El marcador de posición de dígitos me permite especificar un formato para el número, usando el símbolo # como marcador de posición para cada número.

Comas

Otro ejemplo:

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

Resultado:

123,456,789

los Ceros a la izquierda

Otra costumbre especificador de formato numérico es cero (0)., Puede usar esto para rellenar un número con ceros a la izquierda:

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 

También puede usarlo para eliminar ceros:

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 

referencia de especificadores de formato numérico

los siguientes artículos contienen todos los especificadores de formato numérico que puede usar con la función FORMAT(), junto con ejemplos de T-SQL.,

  • cadenas de formato numérico estándar
  • cadenas de formato numérico personalizadas

estos son los mismos especificadores de formato que son compatibles con.NET Framework (la función FORMAT() depende de. NET Framework).

fecha y hora

la función FORMAT() también le permite formatear la fecha y la hora.

Date and time tiene un conjunto separado de especificadores de formato:

  • cadenas de formato de fecha y hora estándar
  • cadenas de formato de fecha y hora personalizadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *