Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

sql-server-2005:Bagaimana cara melakukan split pada variabel string yang dibatasi pipa?

Ini adalah cara yang membantu dan sederhana untuk mengkueri string yang dibatasi seolah-olah itu adalah tabel.

Diambil dari:http://www.mindsdoor.net/SQLTsql/ParseCSVString.html

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_ParseCSVString]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_ParseCSVString]
GO


create function fn_ParseCSVString
(
@CSVString  varchar(8000) ,
@Delimiter  varchar(10)
)
returns @tbl table (s varchar(1000))
as
/*
select * from dbo.fn_ParseCSVString ('qwe,c,rew,c,wer', ',c,')
*/
begin
declare @i int ,
    @j int
    select  @i = 1
    while @i <= len(@CSVString)
    begin
        select  @j = charindex(@Delimiter, @CSVString, @i)
        if @j = 0
        begin
            select  @j = len(@CSVString) + 1
        end
        insert  @tbl select substring(@CSVString, @i, @j - @i)
        select  @i = @j + len(@Delimiter)
    end
    return
end


GO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah Kinerja dengan SQL Server 2012 Enterprise Edition Di Bawah Lisensi CAL

  2. Apakah mungkin untuk mengatur indeks di dalam kolom XML pada SQL Server 2005/SQL Server 2008?

  3. Cara mudah memilih kolom kanan sebagai Kunci Utama untuk tabel yang diberikan

  4. Mendapatkan nilai total kolom tertentu dari GridView

  5. Buffer cache:Apa itu dan bagaimana pengaruhnya terhadap kinerja database?