0
votes

Définir une valeur en verbal avec SQL

Je veux définir la valeur "inopérateur" dans une verbale. Ceci est ma requête SELECT.

DECLARE @i nvarchar(Max); set @i = '619, 618, 620, 2162, 2173, 3613, 2090';
select *  from tbl_PharmacypurDetail where ItmCode in (CAST(@i as bigint))


3 commentaires

L'erreur vous dit le problème. '619, 618, 620, 2162, 2173, 3613, 2090' n'est pas un int , c'est un varchar de caractères numériques, blancspace et des virgules. Quelle version de SQL Server utilisez-vous?


J'utilise SQL Server R2. Et je veux utiliser ces valeurs dans opérateur qui aident avec une variables.


"Serveur R2"? Voulez-vous dire SQL Server 2008 R2 (qui est complètement non pris en charge)?


3 Réponses :


0
votes

Vous pouvez utiliser Split fonction: xxx

si vous travaillez avec SQL Server 2016 ou supérieur alors vous pouvez utiliser String_split .


0 commentaires

0
votes

Vous pouvez utiliser quelque chose comme ceci à la place au cas où votre serveur ne prend pas en charge string_split : xxx


0 commentaires

1
votes

Vous pouvez utiliser string_split sur scindre une chaîne dans des lignes de substrings, en fonction d'un caractère de séparateur spécifié. xxx < / p>


0 commentaires