LPAD, RPAD avec SQl server? [Résolu]

cs_karn 79 Messages postés mardi 2 avril 2002Date d'inscription 6 juillet 2009 Dernière intervention - 27 déc. 2004 à 17:28 - Dernière réponse : IgorN2004 2 Messages postés lundi 30 mai 2005Date d'inscription 7 août 2005 Dernière intervention
- 30 mai 2005 à 06:12
Bonjour,
Il y a t'il un equivalent aux fonctionx LPAD,RPAD avec sql server?
Afficher la suite 

3 réponses

Répondre au sujet
cs_karn 79 Messages postés mardi 2 avril 2002Date d'inscription 6 juillet 2009 Dernière intervention - 29 déc. 2004 à 14:02
+3
Utile
Merci j'ai reussi a trouver ca dans l'aide :

Cet exemple complète à gauche des nombres dans la limite d'une longueur spécifiée lors de leur conversion d'un type de données numérique en type caractère ou Unicode.

USE Northwind
GO
DROP TABLE t1
GO
CREATE TABLE t1
(
c1 varchar(3),
c2 char(3)
)
GO
INSERT INTO t1 VALUES ('2', '2')
INSERT INTO t1 VALUES ('37', '37')
INSERT INTO t1 VALUES ('597', '597')
GO
SELECT REPLICATE('0', 3 - DATALENGTH(c1)) + c1 AS [Varchar Column],
REPLICATE('0', 3 - DATALENGTH(c2)) + c2 AS [Char Column]
FROM t1
GO
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_karn
cs_fabrice69 1766 Messages postés jeudi 12 octobre 2000Date d'inscription 11 décembre 2013 Dernière intervention - 28 déc. 2004 à 19:23
0
Utile
Pas exactement, en fait LPAD et RPAD permettent de tronquer une string sur X charactere et si besoin de completer par une chaine donnée.
cf :
- http://www.techonthenet.com/oracle/functions/rpad.htm

Sous SQL Server, les fonctions existent pour une partie de ces demandes :
RIGHT et LEFT

Cf Aide MSDN :
-------
RIGHT
Renvoie la partie d'une chaîne de caractères commençant au nombre de caractères spécifié par integer_expression, à partir de la droite.

Syntaxe
RIGHT ( character_expression , integer_expression )

Arguments
character_expression

Expression d'une donnée caractère. character_expression peut être une constante, une variable ou une colonne de données de type caractère ou binaire.

integer_expression

Position de départ, exprimée par un nombre entier positif. Si integer_expression est négative, une erreur est renvoyée.

Type des valeurs renvoyées
varchar

character_expression doit appartenir à un type de données explicitement convertible en varchar. Sinon, utilisez l'opérateur CAST pour convertir explicitement character_expression.

Notes
Les niveaux de compatibilité peuvent affecter les valeurs renvoyées. Pour plus d'informations, voir sp_dbcmptlevel.

Exemple
Cet exemple renvoie les cinq derniers caractères (les plus à droite) du prénom de chaque auteur.

USE pubs
GO
SELECT RIGHT(au_fname, 5)
FROM authors
ORDER BY au_fname
GO

Voici le jeu de résultats obtenu :

------------------
raham
Akiko
lbert

-----

Et LEFT :
-----
LEFT
Renvoie la partie de la chaîne character_expression commençant au premier caractère et contenant le nombre de caractères spécifié par integer_expression.

Syntaxe
LEFT ( character_expression , integer_expression )

Arguments
character_expression

Expression de caractères ou de données binaires. character_expression peut être une constante, une variable ou une colonne. character_expression doit être d'un type de données qui peut être converti implicitement en varchar. Dans le cas contraire, utilisez la fonction CAST pour convertir explicitement character_expression.

integer_expression

Nombre entier positif. Si integer_expression est négatif, une chaîne nulle est renvoyée.

Type des valeurs renvoyées
varchar

Notes
Les niveaux de compatibilité peuvent affecter les valeurs renvoyées. Pour plus d'informations sur les niveaux de compatibilité, voir sp_dbcmptlevel.

Exemple
A. Utilisation de LEFT avec une colonne
Cet exemple renvoie les cinq caractères de gauche du titre de chaque livre.

USE pubs
GO
SELECT LEFT(title, 5)
FROM titles
ORDER BY title_id
GO

Voici le jeu de résultats obtenu :

-----
The B
Cooki
You C
Strai

-----

Pour la completion (si tu recherches aussi cette partie, je pense qu'il faut voir du coté des fonction personnalisées de SQL Server.

Romelard Fabrice (Alias F___)
Commenter la réponse de cs_fabrice69
IgorN2004 2 Messages postés lundi 30 mai 2005Date d'inscription 7 août 2005 Dernière intervention - 30 mai 2005 à 06:12
0
Utile
Q.Il y a t'il un equivalent aux fonctionx LPAD,RPAD avec sql server?
R.Bien sûr !

Les fonctions Transact-SQL pour le traitement des chaînes de caractères
Mesdames et Messieurs,


Je bien voudrais vous proposer les fonctions Transact-SQL qui sont les suivants


GETWORDCOUNT() Counts the words in a string
GETWORDNUM() Returns a specified word from a string
AT() Returns the beginning numeric position of the first occurrence of a character expression within another character expression, counting from the leftmost character
RAT() Returns the numeric position of the last (rightmost) occurrence of a character string within another character string
CHRTRAN() Replaces each character in a character expression that matches a character in a second character expression with the corresponding character in a third character expression
STRFILTER() Removes all characters from a string except those specified
OCCURS() Returns the number of times a character expression occurs within another character expression (include overlaps)
PADL() Returns a string from an expression, padded with spaces or characters to a specified length on the left side
PADR() Returns a string from an expression, padded with spaces or characters to a specified length on the right side
PADC() Returns a string from an expression, padded with spaces or characters to a specified length on the both sides
PROPER() Returns from a character expression a string capitalized as appropriate for proper names
RCHARINDEX() Is similar to a built-in function Transact-SQL charindex but the search of which is on the right
ARABTOROMAN() Returns the character Roman number equivalent of a specified numeric expression (de 1 à 3999)
ROMANTOARAB() Returns the number equivalent of a specified character Roman number expression (de I à MMMCMXCIX)


AT, PADL, PADR, CHRTRAN, PROPER sont semblables aux fonctions Oracle PL/SQL INSTR, LPAD, RPAD, TRANSLATE, INITCAP


Plus de 2000 personnes ont déjà téléchargé ces fonctions. Qui sait, peut-être seront-ils utiles pour vous ?


Pour plus d`information, veuillez visiter http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,27115


Veuillez télécharger le fichier
http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115


Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs sentiments.

.
Commenter la réponse de IgorN2004

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.