Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разделете sql низ на думи

Опитайте това:

declare @s1 varchar(3000) ;
declare @xml xml,@str varchar(100),@delimiter varchar(10), @out varchar(max);;
select @delimiter =' '
select @s1 =  'This is a string';
select @s1 = 'This    is   a   string ';
select @s1 = 'This  is a          string ';
select @s1 = 'This  is           a string';

select @xml = cast(('<X>'+replace(@s1,@delimiter ,'</X><X>')+'</X>') as xml)

select top 3 @out = 
    COALESCE(@out + ' ', '') +  C.value('.', 'varchar(100)') 
from @xml.nodes('X') as X(C)
where LEN(C.value('.', 'varchar(10)')) > 0

select @out


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предаване на параметър на xml низ към съхранената процедура на SQL Server

  2. Изчисление на постоянна среднопретеглена цена SQL Server 2008

  3. Използване на Intel Optane Storage за SQL Server

  4. Как да актуализирате голяма таблица с милиони редове в SQL Server?

  5. Как да изведете всички чужди ключове с WITH NOCHECK в SQL Server