SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

Pemisahan nilai yang dipisahkan koma

Anda dapat membuat UDF yang ditentukan pengguna seperti yang ditunjukkan di bawah ini. Kemudian, cukup berikan daftar yang dipisahkan koma dari kueri lain dan itu akan mengembalikan tabel dengan setiap nilai dalam baris terpisah.

CREATE FUNCTION [dbo].[fnSplitStringAsTable] 
(
    @inputString varchar(MAX),
    @delimiter char(1) = ','
)
RETURNS 
@Result TABLE 
(
    Value varchar(MAX)
)
AS
BEGIN
    DECLARE @chIndex int
    DECLARE @item varchar(100)

    -- While there are more delimiters...
    WHILE CHARINDEX(@delimiter, @inputString, 0) <> 0
        BEGIN
            -- Get the index of the first delimiter.
            SET @chIndex = CHARINDEX(@delimiter, @inputString, 0)

            -- Get all of the characters prior to the delimiter and insert the string into the table.
            SELECT @item = SUBSTRING(@inputString, 1, @chIndex - 1)

            IF LEN(@item) > 0
                BEGIN
                    INSERT INTO @Result(Value)
                    VALUES (@item)
                END

            -- Get the remainder of the string.
            SELECT @inputString = SUBSTRING(@inputString, @chIndex + 1, LEN(@inputString))
        END

    -- If there are still characters remaining in the string, insert them into the table.
    IF LEN(@inputString) > 0
        BEGIN
            INSERT INTO @Result(Value)
            VALUES (@inputString)
        END

    RETURN 
END


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Cara membuka banyak file .sql hanya dalam satu instans ssms

  2. Gunakan Lampirkan sebagai Upsert di Entity Framework Core

  3. SSMS menghapus komentar pra-MULAI dari prosedur tersimpan saya

  4. Bagaimana cara menghapus daftar database yang terhapus secara tidak sengaja dari daftar seperti pohon Sql Server Management Studio?

  5. Baik pengguna, 'IIS APPPOOL\App Name', tidak memiliki akses ke database 'SSAS Cube Name', atau database tidak ada