Comment diviser séparées par des virgules chaîne à l'intérieur d'une procédure stockée?
Comment diviser séparées par des virgules chaîne de caractères dans les chaînes à l'intérieur de magasin de procédure et de les insérer dans un champ de table?
À L'Aide De Firebird 2.5
OriginalL'auteur Yordan Yanakiev | 2011-11-08
Vous devez vous connecter pour publier un commentaire.
Ici un exemple de la façon de diviser la chaîne et d'écrire les sous-chaînes dans un tableau:
Juste à noter: il ne retournera aucun résultat pour
AINPUT
comme',1,2'
mais il sera de retour en trois sous-chaînes pourAINPUT
comme'1,2,'
.OriginalL'auteur Michael
Je suis annonce modifiée Michael version, il sera peut-être utile pour quelqu'un.
Les modifications sont les suivantes:
Merci @MartijnPieters.
OriginalL'auteur Wodzu
Utilisation
POSITION
http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-position.html
et
SUSTRING
http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-substring.html
fonctions dans TOUT énoncé
OriginalL'auteur rstrelba
Il semble bien, sauf une chose, à mon serveur Firebird Varchar taille de la déclaration de 32000 cause "de la mise en Œuvre de la limite dépassée" l'exception", alors soyez prudent. Je suggère l'utilisation de BLOB SUB_TYPE TEXTE à la place 🙂
OriginalL'auteur Maciej Wasiak
Une solution similaire que j'utilise, publié il y a un moment par Jiri Cincura
http://blog.cincura.net/232347-tokenize-string-in-sql-firebird-syntax/
OriginalL'auteur user1300484