Maison >base de données >tutoriel mysql >Comment remplir des nombres avec des zéros non significatifs dans les requêtes SQL Server ?

Comment remplir des nombres avec des zéros non significatifs dans les requêtes SQL Server ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-10 20:47:48346parcourir

How to Pad Numbers with Leading Zeros in SQL Server Queries?

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!

Déclaration:
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