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. Par exemple, si EmployeeId est 7135, la requête renvoie «007135».
Avis:
SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID))) RTRIM(EmployeeID)
]
SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID)) 1)
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