2016-12-28 1 views
0

Notre société depuis des années mettre un & dans les identifiants de client. Maintenant nous faisons cette chose de nuage et les & causent des problèmes.Pouvez-vous "changer" les données dans une vue?

J'ai cette vue que j'ai besoin de changer le '&' à un '_' dans le champ customerID.

Y a-t-il un moyen de cela?

Merci,

Onyx

+1

Demandez-vous comment modifier l'affichage afin qu'il affiche les données que vous voulez * sans * modifier les données sous-jacentes, ou voulez-vous changer les données sous-jacentes? Pourriez-vous afficher la structure et la vue de votre table? –

+0

Utilisez les paramètres et l'URL pour encoder/décoder et les & ne devraient pas poser de problème – xQbert

+0

Vous avez plusieurs solutions possibles. La fonction 'REPLACE()' lors de la sélection de la valeur (suggérée ci-dessous); URLEncoding les valeurs, qui préserve l'esperluette dans les données; ou mettre à jour les données de base avec des underscores (ou n'importe quelle valeur est choisie), puis ne pas se soucier de nouveau. –

Répondre

0

L'instruction SQL suivante remplace le '&' avec un trait de soulignement « _'...

select replace('A&C','&','_') 

Dans votre cas, vous auriez une expression comme ...

select replace([customerID],'&','_') 
-2

vous NE POUVEZ PAS modifier la valeur de la table ou des données directement à partir de la vue car la vue est un jeu de résultats provenant de plusieurs tables. Et c'est un peu dynamique, ce qui signifie que vous avez la possibilité de changer les données d'une table spécifique avant de pouvoir voir les changements depuis la vue. Utiliser Update table Set col = replace (col,'&','_') Where...

+0

Deux choses - (1) Nous n'avons pas déterminé si la vue particulière est, en fait, de plusieurs tables, et (2) il est possible de mettre à jour via une vue multi-table, tant que toutes les mises à jour sont à une table (versions ultérieures de SQL Server). –