0 sql t-sql sql-server string-parsing sql-server-2016-express
例如:
需要将上面的排序为,
尝试这个:
DECLARE @tbl TABLE(YourString VARCHAR(100));
INSERT INTO @tbl VALUES
('Pillars 101 in an apartment')
,('Zuzu Durga International Hotel')
,('Wyndham Garden Fresh Meadows');
SELECT CAST('<x>' + REPLACE((SELECT YourString AS [*] FOR XML PATH('')),' ','</x><x>') + '</x>' AS XML).query
('
for $x in /x
order by $x
return
concat($x/text()[1], " ")
').value('.','varchar(max)')
FROM @tbl;
Run Code Online (Sandbox Code Playgroud)
该代码将首先以 XML 格式传输您的文本,例如<x>Pillars</x><x>101</x> ...
.
然后使用 aFLWOR XQuery
返回排序后的文本部分。
最后一次调用.value()
将再次将排序后的片段作为文本返回。
结果
101 Pillars an apartment in
Durga Hotel International Zuzu
Fresh Garden Meadows Wyndham
Run Code Online (Sandbox Code Playgroud)
这段代码是一种练习。你的设计真的很糟糕,应该改变......