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>
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. Par exemple, si l'EmployeeID est 7135, la requête renverra « 007135 ».
Remarque :
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID))) + RTRIM(EmployeeID)</code>
<code class="language-sql">SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID)) + 1)</code>
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!