存储过程中的整理

时间:2010-06-10 13:27:55

标签: sql tsql stored-procedures collation

我有一个包含不同语言数据的表​​格。所有字段都是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 个答案:

答案 0 :(得分:1)

我正在猜测你的dbo.trim用户定义函数出了什么问题。你有它的来源吗?

答案 1 :(得分:1)

Trim用户定义函数的参数声明为varchar而不是nvarchar,或者您在该函数中使用声明为varchar的变量来构建结果,或者您已将结果声明为varchar而不是nvarchar。我们需要查看Trim函数的来源以确定。

答案 2 :(得分:0)

确保修剪函数接受nvarchar而不仅仅是varchar,否则它会进行隐式转换,你可以发布代码