Précédent   Forum des professionnels en informatique > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 10h30   #1
Candidat au titre de Membre du Club
 
Inscription : février 2005
Messages : 87
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 87
Points : 11
Points : 11
Par défaut [T-SQL]Replace pour SQL sybase

Bonjour
dans sql oracle j'ai la fonction REPLACE qui remplace une chiane dans une autre et renvoie le resulta, mais je ne trouve d'equivalent en sql SYBASE
si qlq un à un idée
merci d'avance
exempleinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2007, 13h01   #2
Membre du Club
 
Inscription : septembre 2007
Messages : 39
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 39
Points : 42
Points : 42
Bonjour,

La fonction str_replace devrait te convenir.
Voici un copier/coller de la doc ASE 12.5.1 'Manuel de reference' sur le sujet (ch2) :

Description
Remplace toute instance de la deuxième expression de chaîne (expression_chaîne2) présente au sein de la première expression de chaîne (expression_chaîne1) par une troisième expression (expression_chaîne3).
Syntaxe
replace("expression_chaîne1", "expression_chaîne2", "expression_chaîne3")
Paramètres
expression_chaîne1
chaîne source, ou expression de chaîne faisant l’objet de la recherche, exprimée sous la forme d’un type de données char, varchar, unichar, univarchar, varbinary ou binary.
expression_chaîne2
chaîne masque ou expression de chaîne à rechercher au sein de la première expression (expression_chaîne1). expression_chaîne2 est exprimée sous la forme d’un type de données char, varchar, unichar, univarchar, varbinary ou binary.
expression_chaîne3
expression de chaîne de remplacement, exprimée sous la forme d’un type de données char, varchar, unichar, univarchar, binary ou varbinary.

Exemples
Exemple 1 Remplace la chaîne def dans la chaîne cdefghi par la chaîne yyy.
replace("cdefghi","def","yyy")
-------------
cyyyghi
(1 row(s) affected)

Exemple 2 Remplace tous les espaces par « toyota ».
select str_replace("chevy, ford, mercedes", "","toyota")
----------
chevy,toyotaford,toyotamercedes
(1 row(s) affected)

Remarque Adaptive Server convertit une constante de chaîne vide par une chaîne d’1 espace automatiquement afin de distinguer la chaîne des valeurs NULL.

Utilisation
•Renvoie des données varchar si expression_chaîne (1,2 ou 3) est de type char ou varchar.
•Renvoie des données univar si expression_chaîne (1,2 ou 3) est de type unichar ou univarchar.
CHAPITRE 2 Fonctions Transact-SQL
Manuel de référence : éléments syntaxiques 223
•Renvoie des données varbinary si expression_chaîne (1,2 ou 3) est de type binary ou varbinary.
•Tous les arguments doivent partager le même type de données.
•Si l’un des arguments est NULL, la fonction renvoie la valeur NULL.
•La longueur du résultat peut varier en fonction des valeurs connues pour les arguments lors de la compilation de l’expression. Si tous les arguments sont des variables aux valeurs constantes connues, Adaptive Server calcule la longueur du résultat comme suit :
result_length = ((s/p)*(r-p)+s)
where
s = length of source string
p = length of pattern string
r = length of replacement string
if (r-p) <= 0, result length = s
•Si la chaîne source (expression_chaîne1) est une colonne et que expression_chaîne2 et expression_chaîne3 sont des valeurs constantes connues au moment de la compilation, Adaptive Server calcule la longueur de résultat à l’aide de la formule ci-dessus.
•Si Adaptive Server est incapable de calculer la longueur du résultat parce que les valeurs des arguments ne sont pas connues au moment de la compilation de l’expression, la longueur de résultat utilisée est 255, à moins que l’indicateur de trace 244 soit activé. Dans ce cas, la longueur de résultat est 16 384.
• result_length ne dépasse jamais 16 384.

Normes
Niveau de conformité avec la norme SQL ANSI : extension Transact-SQL.

Autorisations
Tous les utilisateurs peuvent exécuter str_replace.

Voir aussi
Types de données
char, varchar, binary, varbinary, unichar, univarchar
Fonction
length


Si tu as des questions concernant ton cas précis, n'hésites pas a poster a nouveau.
A+
lparodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 16h06   #3
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
http://fadace.developpez.com/sgbdcmp/fonctions/#LIII
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h08.


 
 
 
 
Partenaires

Hébergement Web