Maison >base de données >tutoriel mysql >Comment remplir des nombres avec des zéros non significatifs dans les requêtes SQL Server ?
SQL Server : ajout de zéros non significatifs aux nombres
Votre ancienne base de données SQL Server 2000 utilisée char(6)
pour les numéros de badge des employés, garantissant un format cohérent avec des zéros non significatifs. Toutefois, votre nouvelle application Web les stocke sous forme d’entiers pour une efficacité améliorée. Cela présente un défi de formatage lors de l'interrogation des données.
Voici comment formater des entiers avec des zéros non significatifs dans vos requêtes SQL :
Solution utilisant REPLICATE :
La fonction REPLICATE
apporte une solution élégante :
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(employeeId)) + employeeId FROM dbo.RequestItems WHERE ID = 0;</code>
Ajustez le « 6 » dans REPLICATE
pour contrôler la longueur totale de la chaîne rembourrée. Cet exemple conserve une longueur de six caractères.
Par exemple, un employeeId
de 7135 renverra « 007135 ».
Gestion des colonnes INT :
Si employeeId
est une colonne INT
, utilisez RTRIM
pour une conversion implicite en VARCHAR
:
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(employeeId))) + RTRIM(employeeId) FROM dbo.RequestItems WHERE ID = 0;</code>
Suppression des zéros non significatifs :
Pour récupérer le numéro d'origine (sans les zéros non significatifs), utilisez les fonctions RIGHT
et PATINDEX
:
<code class="language-sql">SELECT RIGHT(employeeId, (LEN(employeeId) - PATINDEX('%[^0]%', employeeId)) + 1) FROM dbo.RequestItems WHERE ID = 0;</code>
Cette approche offre une solution robuste pour gérer les zéros non significatifs dans votre code C# et dans vos requêtes SQL Server, garantissant ainsi la cohérence des données dans votre application.
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!