J'ai une table sur SQL2000 avec une colonne numérique et je dois la sélection pour revenir un 01, 02, 03 ...Comment puis-je retourner une représentation à 2 chiffres d'un numéro dans SQL 2000
Il actuellement renvoie 1,2,3, ... 10,11 ...
Merci.
J'ai une table sur SQL2000 avec une colonne numérique et je dois la sélection pour revenir un 01, 02, 03 ...Comment puis-je retourner une représentation à 2 chiffres d'un numéro dans SQL 2000
Il actuellement renvoie 1,2,3, ... 10,11 ...
Merci.
Est-ce que cela fonctionne?
SELECT REPLACE(STR(mycolumn, 2), ' ', '0')
De http://foxtricks.blogspot.com/2007/07/zero-padding-numeric-value-in-transact.html
œuvres de réponse de John et est généralisable à un nombre quelconque de chiffres, mais je serais plus à l'aise avec
select case when mycolumn between -9 and 9 then '0' + str(mycolumn) else str(mycolumn) end
où n est un entier positif entre 0 et 99:
select right('0'+ltrim(str(n)),2)
ou
select right(str(100+n),2)
mais j'aime la réponse de John mieux. Un seul point de spécification pour la largeur cible, mais j'ai posté ces car ils sont aussi des idiomes communs qui pourraient mieux fonctionner dans d'autres situations ou d'autres langues.
Ce genre de question concerne l'interface avec la base de données. Vraiment la base de données devrait retourner les données et votre application peut reformater si elle veut les données dans un format particulier. Vous ne devriez pas le faire dans la base de données, mais dans la couche de présentation.
Notez que la fonction 'STR()' prend un flottant comme paramètre. Dans de rares cas, vous pourriez vous retrouver avec des problèmes d'arrondi. –