LPAD dans SQL Server 2008
Je ne vois pas une fonction comme LPAD
dans SQL Server 2008. Par exemple, comment puis-je convertir les requêtes suivantes en T-SQL? Merci pour vos réponses
select LPAD(MY_VALUE,2,' ')) VALUE
FROM MY_TABLE
- Sachez que si vous êtes en essayant de reproduire le LPAD fonction d'Oracle, aucune des réponses ci-dessous sont correctes pour le cas où la longueur de sortie est inférieure à l'entrée de la longueur.
Vous devez vous connecter pour publier un commentaire.
Fondamentalement pad avec le nombre de caractères que vous avez l'intention de sélectionner et ensuite à droite de la chaîne.
Vous pouvez utiliser la fonction des espaces au lieu de répliquer, de l'espace(number_of_spaces), répliquer permet simplement de remplir avec des caractères de remplacement.
Manuel de calculs peut être gênant pour l'appliquer à l'intérieur de requêtes. Heureusement, nous pouvons créer une fonction:
(Veuillez remplacer
VARCHAR
avecNVARCHAR
à votre goût, ou d'utiliser un algorithme de remplacement.)Alors:
Devrait fonctionner depuis SQL Server 2005.
J'ai besoin de quelque chose de similaire, mais je ne pouvais pas utiliser '+' parce qu'il a été interprété comme une addition entre les nombres "0000000000" et [seq_no]. J'ai donc utilisé concat à la place, et il a bien fonctionné.
CAST(your_number AS VARCHAR(10))
et de travailler avec des chaînes de caractèresJe suis venu avec une LPAD et RPAD fonction où vous pouvez utiliser un characterstring pour le piton de la partie.
Ils devraient fonctionnent de la même que les versions de DB2.
Voici le LPAD:
Et voici le RPAD: