"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment formater les valeurs entières avec des zéros principaux dans SQL Server?

Comment formater les valeurs entières avec des zéros principaux dans SQL Server?

Publié le 2025-03-24
Parcourir:914

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

Numéros de système avec des zéros leader dans SQL Server

Dans SQL Server, vous pouvez rencontrer des situations où vous devez formater les valeurs avec des zéros de premier plan pour améliorer les performances d'affichage ou l'efficacité de transfert de données. Résolvons ce problème avec un exemple concret:

question:

Nous avons une table SQL avec des numéros d'employés stockés comme chaînes de caractère de la longueur 6 (par exemple, '000001' à '999999'). Nous voulons créer une nouvelle table avec le numéro de travail en tant qu'entier pour améliorer le traitement des données. Comment modifier une requête SQL pour formater la valeur entière retournée à «000000» (avec des zéros de premier plan)?

Répondre:

Pour réaliser ce formatage, nous pouvons utiliser les fonctions réplicat () et len ​​():

SELECT REPLICATE('0', 6 - LEN(EmployeeID))   EmployeeID
]

voici comment cela fonctionne:

  • réplique ('0', 6 - len (employeeId)) crée une chaîne zéro avec une longueur égale à 6 moins la longueur de l'employeeId.
  • Ensuite, utilisez l'opérateur pour concaténer cette chaîne zéro avec EmployeeId, résultant en une chaîne formatée avec des zéros principaux.

Par exemple, si EmployeeId est 7135, la requête renvoie «007135».

Avis:

  • Si la colonne EmployeeId est déclarée int, vous pouvez utiliser la fonction rtrim () pour la convertir implicitement en varchar:
SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID)))   RTRIM(EmployeeID)
]
  • Pour supprimer le zéro leader et obtenir le numéro d'origine, utilisez la requête suivante:
SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID))   1)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3