SQL SERVER - TRANSMISSION D'UN PARAMETRE A VALEURS MULTIPLES

FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009 - 13 nov. 2007 à 13:42
mostafaone Messages postés 2 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 15 mai 2009 - 15 mai 2009 à 11:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44698-sql-server-transmission-d-un-parametre-a-valeurs-multiples

mostafaone Messages postés 2 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 15 mai 2009
15 mai 2009 à 11:07
thinks brother c'est trés util ton truc
ca marche 5/5
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
21 nov. 2007 à 11:33
Le code source a été mis à jour pour gérer l'éventualité précédemment évoquée. Par suite,l'instruction SELECT * FROM [dbo].[fctSplitToInt]('10;;20', ';') renverra maintenant seulement les nombres 10 et 20.
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
19 nov. 2007 à 15:58
En dernier lieu, rappelez vous que la conversion d'une chaîne vide en entier retourne zéro. Par conséquent,l'instruction SELECT * FROM [dbo].[fctSplitToInt]('10;;20', ';') retournera dans l'ordre les nombres 10, 0 et 20.
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
15 nov. 2007 à 15:19
J'ai repris l'expression utilisée par SQL Server Reporting pour qualifié le paramètre bien que l'épithète « multi-valué » me semble plus approprié.
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
15 nov. 2007 à 10:45
Gardez en mémoire que cette solution de simplification provoque une perte de performance (voir le plan d'exécution).
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
13 nov. 2007 à 13:42
Une autre solution consiste à utiliser le séparateur de chaînes proposé en exemple par Microsoft (Split.vb).
Rejoignez-nous