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

SQL Server 2005 :文字列を配列に分割し、配列 (x) を取得しますか?

    ここでは、常に正確に 4 つの部分があると想定しています。

    その場合、 / を置き換えることができます . で 組み込みの素敵な ParseName 関数。あなたの例の唯一の問題は、最後からカウントされることです。そのため、必要な部分に注意する必要があります:

    DECLARE @test VARCHAR(max);
    SET @test = 'Peter/Parker/Spiderman/Marvel';
    SET @test = Replace(@test, '/', '.');
    
    SELECT Parsename(@test, 4),--returns Peter
           Parsename(@test, 3),--returns Parker
           Parsename(@test, 2),--returns Spiderman
           Parsename(@test, 1) --returns Marvel
    

    可変数のパーツがある場合は、これを行うための文字列分割関数を見つける必要があります。組み込みの適切な関数はありません。SO を検索すると、多くのオプションを見つけることができます:https://stackoverflow.com/search?q=[sql+server]+string+split

    警告 - PARSENAME で数値を使用しようとした場合 1 ~ 4 以外の場合、結果は常に NULL になります。



    1. T-SQLを使用してSQLServerでデータベース名を変更する方法

    2. Parallel.ForをSQLコマンドで使用できますか?

    3. MySQLで暗号化キーを使用/保存するための最良の方法は何ですか

    4. mysql jarをlibに追加しましたが、intelliJを介して動作するtomcatへのローカルデプロイメントでクラスに直面している例外が見つかりませんでしたか?