Maison > base de données > tutoriel mysql > Comment formater des valeurs entières avec des zéros non significatifs dans SQL Server ?

Comment formater des valeurs entières avec des zéros non significatifs dans SQL Server ?

Linda Hamilton
Libérer: 2025-01-10 20:37:44
original
945 Les gens l'ont consulté

How to Format Integer Values with Leading Zeros in SQL Server?

Formatage des nombres avec des zéros non significatifs dans SQL Server

Dans SQL Server, vous pouvez rencontrer des situations dans lesquelles vous devez formater une valeur numérique avec des zéros non significatifs pour améliorer l'efficacité de l'affichage ou du transfert de données. Abordons cela avec un exemple concret :

Question :

Nous avons une table SQL qui contient les numéros d'employé stockés sous forme de chaînes de 6 caractères (par exemple, de « 000001 » à « 999999 »). Nous souhaitons créer un nouveau tableau dans lequel les numéros d'emploi sont des nombres entiers pour améliorer le traitement des données. Comment puis-je modifier ma requête SQL pour formater la valeur entière renvoyée comme « 000000 » (avec des zéros non significatifs) ?

Réponse :

Pour réaliser ce formatage, nous pouvons utiliser les fonctions REPLICATE() et LEN() :

<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(EmployeeID)) + EmployeeID</code>
Copier après la connexion

Voici comment cela fonctionne :

  • REPLICATE('0', 6 - LEN(EmployeeID)) Crée une chaîne nulle dont la longueur est égale à 6 moins la longueur de EmployeeID.
  • Cette chaîne de zéros est ensuite concaténée avec l'EmployeeID à l'aide de l'opérateur, ce qui donne une chaîne formatée avec des zéros non significatifs.

Par exemple, si l'EmployeeID est 7135, la requête renverra « 007135 ».

Remarque :

  • Si la colonne EmployeeID est déclarée comme INT, vous pouvez implicitement la convertir en VARCHAR à l'aide de la fonction RTRIM() :
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID))) + RTRIM(EmployeeID)</code>
Copier après la connexion
  • Pour supprimer les zéros non significatifs et obtenir le numéro d'origine, utilisez la requête suivante :
<code class="language-sql">SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID)) + 1)</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal