【发布时间】:2015-07-25 23:40:30
【问题描述】:
我有一个转换 UTF8 字符的函数。当我使用字符串调用函数时,它按预期工作。
select dbo.fn_PolskieZnaki_utf8('Kraków')
返回Kraków
但是当我从表中选择一列时,它不起作用。它返回Kraków。怎么了?
use MyDataBase
GO
select dbo.fn_PolskieZnaki_utf8(MyColumn)
from MyTable
这是函数本身:
CREATE FUNCTION [dbo].[fn_PolskieZnaki_utf8](@string NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS
begin
RETURN REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE
(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE
(@string,
'Ä,,', N'Ą'),
'Ä...', N'ą'),
'Ć', N'Ć'),
'ć', N'ć'),
'Ę', N'Ę'),
'Ä™', N'ę'),
'Å', N'Ł'),
'Å,', N'ł'),
'Ń', N'Ń'),
'Å„', N'ń'),
'Ã"', N'Ó'),
'ó', N'ó'),
'Åš', N'Ś'),
'Å›', N'ś'),
'Ź', N'Ź'),
'Ű', N'ź'),
'Å»', N'Ż'),
'ż', N'ż')
end
【问题讨论】:
-
你的
MyTable定义是什么? -
@ughai 我只写 dbo.MyTableName
标签: sql sql-server-2008 replace