2010-06-10 14 views
2

J'ai une table qui contient des données dans des langues différentes. Tous les champs sont nvarchar (max). J'ai créé une procédure stockée qui garniture des valeurs de tous les champsprocédure stockée

Create Proc [dbo].[TrimValues] 
as 
update testdata 
set city = dbo.trim(city), 
state = dbo.trim(state), 
country = dbo.trim(country), 
schoolname = dbo.trim(schoolname) 

après toutes les garnitures texte non anglais deviennent ?????

Répondre

1

Soit le paramètre à votre garniture fonction définie par l'utilisateur est déclaré comme varchar au lieu de nvarchar ou vous utilisez une variable déclarée comme varchar dans cette fonction pour construire les résultats ou vous avez déclaré que les résultats sont varchar au lieu de nvarchar. Nous aurions besoin de voir la source de la fonction Trim pour être sûr.

+0

vous l'avez. La fonction trim retournait varchar au lieu de nvarchar. Merci – Sharique

1

Quelque chose ne va pas avec votre dbo.trim fonction définie par l'utilisateur, alors je devine. Avez-vous la source pour cela?

0

assurez-vous que vous coupez les fonctions accepte nvarchar et pas seulement varchar sinon il fera une conversion implicite, vous pouvez afficher le code