сопоставление в хранимой процедуре - PullRequest
2 голосов
/ 10 июня 2010

У меня есть таблица, которая содержит данные на разных языках. Все поля являются nvarchar (max). Я создал хранимую процедуру, которая обрезает значения всех полей

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

после обрезки весь неанглийский текст становится ?????

Ответы [ 3 ]

1 голос
/ 10 июня 2010

Либо параметр вашей пользовательской функции Trim объявлен как varchar вместо nvarchar, либо вы используете переменную, объявленную как varchar в этой функции для построения результатов, либо вы объявили результаты как varchar вместо nvarchar. Нам нужно знать источник функции обрезки, чтобы знать наверняка.

1 голос
/ 10 июня 2010

Что-то не так с вашей dbo.trim пользовательской функцией, я думаю.У вас есть источник для этого?

0 голосов
/ 10 июня 2010

убедитесь, что ваши функции обрезки принимают nvarchar, а не только varchar, иначе он будет выполнять неявное преобразование, вы можете опубликовать код

...