Convertir SQL Server jeu de résultats dans la chaîne de
J'obtiens le résultat dans SQL Server comme
SELECT StudentId FROM Student WHERE condition = xyz
Je suis sortie comme
StudentId 1236 7656 8990 ........
Le paramètre de sortie de la procédure stockée est @studentId
chaîne et je veux l'instruction de retour comme
1236, 7656, 8990.
Comment puis-je convertir la sortie de l'unique chaîne de caractères?
Je suis de retour seule colonne [ie. StudentId]
Vous devez vous connecter pour publier un commentaire.
Test ceci:
substring(@result, 1, len(@result) )
supprime la virgule, tandis que la version ci-dessus supprime le caractère avant la virgule ainsi. 🙂substring(@result, 1, len(@result) - 1)
msdn.microsoft.com/en-GB/library/ms187748.aspxUtiliser le
COALESCE
fonction:Les deux réponses sont valables, mais n'oubliez pas de initializate la valeur de la variable par défaut est NULL et avec T-SQL:
C'est une erreur très commune, ne l'oubliez pas!
Est aussi une bonne idée pour utiliser la fonction ISNULL:
Utiliser le
CONCAT
afin d'éviter des erreurs de conversion:ou une seule instruction select...
Celui-ci fonctionne avec des Valeurs NULL dans la Table et ne nécessite pas de sous-chaîne de l'opération à la fin. FUSIONNER n'est pas vraiment bien de travailler avec des valeurs NULL dans la table (si ils seront là).
La réponse de brad.v est incorrect! Il ne vous donnera pas une chaîne concaténée.
Voici le code correct, presque comme brad.v's, mais avec un changement important:
Voir la différence? 🙂 brad.v veuillez corriger votre réponse, je ne peux rien faire pour le corriger ou de le commenter car ma réputation ici, c'est zéro. Je suppose que je peux supprimer le mien après avoir corrigé le vôtre. Merci!