C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■91629  Re[3]: SQLServerのSQLがわかりません。
□投稿者/ 韋駄天 -(2019/07/16(Tue) 14:03:10)
    あくまで感覚ですが

    TBL
    NAME CODE
    A 1,2
    B 3

    SELECT *
    FROM TBL AS TBL1
    LEFT OUTER JOIN (
    ----------
    NAME = 'A' の時 1,2
    NAME = 'B' の時 3
    の列テーブルができればOKなのですが
    ----------
    ) AS TBL2
    ON TBL2.NAME = TBL1.NAME

    ちなみに2016ですが、STRING_SPLIT は使用できませんでした。
    なので、以下のようなファンクションを作っています。

    ALTER FUNCTION [dbo].[ufnStringSplit](
    @Input AS NVARCHAR(MAX)
    )
    RETURNS @Output TABLE(Value NVARCHAR(MAX))
    AS
    BEGIN
    IF @Input IS NOT NULL
    BEGIN
    DECLARE @Start INT = 1, @End INT = CHARINDEX(',', @Input), @Len INT = LEN(@Input);
    WHILE @End > 0
    BEGIN
    INSERT INTO @Output (Value) VALUES(SUBSTRING(@Input, @Start, @End - @Start));
    SELECT @Start = @End + 1, @End = CHARINDEX(',', @Input, @Start);
    END
    INSERT INTO @Output (Value) VALUES(SUBSTRING(@Input, @Start, @Len + 1 - @Start));
    END
    RETURN;
    END
記事No.91620 のレス /過去ログ158より / 関連記事表示
削除チェック/

■91635  Re[4]: SQLServerのSQLがわかりません。
□投稿者/ 魔界の仮面弁士 -(2019/07/16(Tue) 15:08:40)
    2019/07/16(Tue) 15:15:03 編集(投稿者)

    No91628 (韋駄天 さん) に返信
    > ちなみに2016ですが、STRING_SPLIT は使用できませんでした。
    > なので、以下のようなファンクションを作っています。

    STRING_SPLIT を使うには、互換性レベルが 130 以上であることが条件です。


    No91629 (韋駄天 さん) に返信
    > なので、以下のようなファンクションを作っています。

    その関数を持っているなら:

    SELECT TBL.A, U.Value
    FROM TBL CROSS APPLY [dbo].[ufnStringSplit](TBL.B) U

    で OK ですね。ただし互換性レベルが 90 以上であることが条件です。

    -- SELECT name, compatibility_level FROM sys.databases


    互換性レベルが 80 の場合は、先の XML 型で凌いでみてください。
    (あるいは compatibility_level を変更してしまうか…)
記事No.91620 のレス /過去ログ158より / 関連記事表示
削除チェック/

■92301  Re[2]: スレッドをタスクで書くには
□投稿者/ TanuTanu -(2019/09/10(Tue) 14:00:29)
    WebSurfer さん

    ありがとうございます。
    すいません小生、初心者である事を明記しておりませんでした。

    >ひょっとして、デリゲートを利用した非同期メソッドを .NET 4.5 以降で使えるようになった
    >async / await / Task を利用して書き換えたいということですか?

    はい。その通りです。

    紹介頂いた記事で解った事はasync / await / Taskを使用するばデリゲートは不要って事でした。

    冒頭で書いたコードですが、Task内でForm1のDataTableを取得すると下記エラーが出ました。

     例外がスローされました: 'System.IndexOutOfRangeException' (System.Data.dll の中)

    次にDelegateを書いてみたら、下記エラーが出ました。

     例外がスローされました: 'System.InvalidOperationException' (System.Windows.Forms.dll の中)

    どうしたらいいものか困り果てております。
    出来ましたらご教授の程宜しくお願いいたします。


記事No.92298 のレス /過去ログ159より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -