sql >> データベース >  >> RDS >> Sqlserver

T-SQL分割文字列

    私は以前にこのSQLを使用しましたが、これはあなたのために働くかもしれません:-

    CREATE FUNCTION dbo.splitstring ( @stringToSplit VARCHAR(MAX) )
    RETURNS
     @returnList TABLE ([Name] [nvarchar] (500))
    AS
    BEGIN
    
     DECLARE @name NVARCHAR(255)
     DECLARE @pos INT
    
     WHILE CHARINDEX(',', @stringToSplit) > 0
     BEGIN
      SELECT @pos  = CHARINDEX(',', @stringToSplit)  
      SELECT @name = SUBSTRING(@stringToSplit, 1, @pos-1)
    
      INSERT INTO @returnList 
      SELECT @name
    
      SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos+1, LEN(@stringToSplit)[email protected])
     END
    
     INSERT INTO @returnList
     SELECT @stringToSplit
    
     RETURN
    END
    

    そしてそれを使用するには:-

    SELECT * FROM dbo.splitstring('91,12,65,78,56,789')
    


    1. SQLでDateTime形式から時刻を取得するにはどうすればよいですか?

    2. 主キー違反エラーの後にトランザクションを続行する

    3. SQL:グループごとの最大レコードを検索します

    4. ダウンタイムなしでDjangoでインデックスを作成する方法