2
MS-SQLサーバーでXSLTのnormalize-space()
に相当するものは何ですか?
組み込み関数がない場合、この関数をSQLクエリに実装する方法は?MS-SQLサーバーのXSLTのnormalize-space()に相当するものは何ですか?
MS-SQLサーバーでXSLTのnormalize-space()
に相当するものは何ですか?
組み込み関数がない場合、この関数をSQLクエリに実装する方法は?MS-SQLサーバーのXSLTのnormalize-space()に相当するものは何ですか?
私が知っている機能はありません。あなた自身を作ることは、このように見えるかもしれません。
create function NormalizeSpace(@S nvarchar(max)) returns nvarchar(max)
as
begin
set @S = replace(@S, nchar(9), N' ')
set @S = replace(@S, nchar(10), N' ')
set @S = replace(@S, nchar(13), N' ')
while charindex(N' ', @S) > 0
begin
set @S = replace(@S, N' ', N' ')
end
return rtrim(ltrim(@S))
end
更新:
はこれを行うにはより高速な方法(無whileループ)のためのJeff Modenすることで、この記事を見てください: REPLACE Multiple Spaces with One
create function NormalizeSpace(@S nvarchar(max)) returns nvarchar(max)
as
begin
set @S = replace(@S, nchar(9), N' ')
set @S = replace(@S, nchar(10), N' ')
set @S = replace(@S, nchar(13), N' ')
set @S = replace(@S, N' ', N' '+nchar(7))
set @S = replace(@S, nchar(7)+N' ', N'')
set @S = replace(@S, nchar(7), N'')
return rtrim(ltrim(@S))
end