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

SQL Serverストアドプロシージャで文字列をコンマで区切る(分割する)方法

    プロシージャを格納してクエリで使用するためにカンマ区切りの(任意の区切り文字)文字列を渡す場合は、その文字列を吐き出す必要があります。そうすれば、それを使用できます。

    以下に例を示します:

    DECLARE @str VARCHAR(500) = 'monday,tuesday,thursday'
    CREATE TABLE #Temp (tDay VARCHAR(100))
    WHILE LEN(@str) > 0
    BEGIN
        DECLARE @TDay VARCHAR(100)
        IF CHARINDEX(',',@str) > 0
            SET  @TDay = SUBSTRING(@str,0,CHARINDEX(',',@str))
        ELSE
            BEGIN
            SET  @TDay = @str
            SET @str = ''
            END
      INSERT INTO  #Temp VALUES (@TDay)
     SET @str = REPLACE(@str,@TDay + ',' , '')
     END
    
     SELECT * 
     FROM tblx 
     WHERE days IN (SELECT tDay FROM #Temp)
    


    1. PostgreSQL:テーブル作成時間

    2. 後ですばやくアクセスできるように年次集計データを収集する

    3. 日付でグループ化し、count()が行を生成しない場合は0

    4. 接続が閉じられると、コミットされていないトランザクションはどうなりますか?