変数に値を累積しても機能しません

そこに行く

SQL Server> = 2012の変数に値を累積しようとしています。

以下のケース1で機能しますが、ケース2では、予期された「、AB、EF、CD」ではなく「、CD」という回答が返されます。なぜですか。

MMSの場合:

USE MyDB
GO

-- Create a simple table
CREATE TABLE Tbl1 (Code VARCHAR(2), So TINYINT NULL)
INSERT INTO Tbl1 VALUES('AB', 10)
INSERT INTO Tbl1 VALUES('CD', NULL)
INSERT INTO Tbl1 VALUES('EF', 5)
GO

-- Case 1
DECLARE @MyVar VARCHAR(255) = ''
SELECT @MyVar=@MyVar + ',' + Code FROM Tbl1 ORDER BY So
SELECT @MyVar
GO

-- Case 2
DECLARE @MyVar VARCHAR(255) = ''
SELECT @MyVar=@MyVar + ',' + Code FROM Tbl1 ORDER BY ISNULL(So, 255)
SELECT @MyVar
GO
ゾロフ

説明はドキュメントにあります

SELECTステートメントで変数を使用して値を連結しないでください(つまり、集計値を計算するため)。予期しないクエリ結果が発生する可能性があります。これは、SELECTリスト内のすべての式(割り当てを含む)が、出力行ごとに1回だけ実行されるとは限らないためです。

ORDER BY条項がなくDISTINCT、集計は期待どおりであるという意見があります(公式ドキュメントにはありません)

SQL Server 2017以降を使用STRING_AGG()している場合は、次を使用して期待される出力を作成できます。

DECLARE @MyVar VARCHAR(255) = ''
SELECT @MyVar = STRING_AGG(Code, ',') WITHIN GROUP (ORDER BY ISNULL(So, 255))
FROM Tbl1 
SELECT @MyVar

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Scheme(Fluent)で数値を変数またはループに置き換えても機能しません

分類Dev

変数を `int`と比較しても機能しません

分類Dev

Powershell-関数出力を変数に保存しても機能しません

分類Dev

ファイルに変数を設定しても機能しません

分類Dev

UIImage変数に配列要素を指定しても機能しません

分類Dev

環境変数にrubyPATHを追加しても `gruntsass`は機能しません

分類Dev

Obj-cからphpに変数をPOSTしても機能しません

分類Dev

変数mysqlを使用しても期待どおりに機能しませんか?

分類Dev

'voiceReceiveMode'をfaxに変更しても機能しません

分類Dev

Java引数をArraylistに取得しても機能しません

分類Dev

JavaScriptを使用して表示値を変更しても機能しません

分類Dev

関数から文字列値を返してmongoDBに保存しようとしても機能しません

分類Dev

経験累積分布関数「ecdf」は「xts」時系列では機能しません

分類Dev

Mysqlの累積合計は時々しか機能しません

分類Dev

PHP。配列の配列の値を変更しても機能しません

分類Dev

累積的な同種変換:回転は機能しますが、平行移動は機能しませんか?

分類Dev

Pythonの列に数値を加算しても正しく機能しませんか?

分類Dev

派生変数をreact状態で保存しても機能しません

分類Dev

変数からSQLServerトリガーを作成しても機能しません

分類Dev

アプリケーションの破棄時に変数を保存しても機能しません

分類Dev

毎秒変数にポイントを追加しても機能しません(Unity3d)

分類Dev

forループjs内に変数の名前を作成しても機能しません

分類Dev

入力値を配列に保存しても機能しません(反応)

分類Dev

WordPressのメタ値にifクエリを追加しても機能しません

分類Dev

NSDictionaryから値を取得しても機能しません

分類Dev

AuthorizedKeysFileをデフォルト以外に変更しても機能しません

分類Dev

AuthorizedKeysFileをデフォルト以外に変更しても機能しません

分類Dev

文字列をdoubleに変換しても機能しませんか?

分類Dev

文字列をバイト配列に変換しても機能しません

Related 関連記事

  1. 1

    Scheme(Fluent)で数値を変数またはループに置き換えても機能しません

  2. 2

    変数を `int`と比較しても機能しません

  3. 3

    Powershell-関数出力を変数に保存しても機能しません

  4. 4

    ファイルに変数を設定しても機能しません

  5. 5

    UIImage変数に配列要素を指定しても機能しません

  6. 6

    環境変数にrubyPATHを追加しても `gruntsass`は機能しません

  7. 7

    Obj-cからphpに変数をPOSTしても機能しません

  8. 8

    変数mysqlを使用しても期待どおりに機能しませんか?

  9. 9

    'voiceReceiveMode'をfaxに変更しても機能しません

  10. 10

    Java引数をArraylistに取得しても機能しません

  11. 11

    JavaScriptを使用して表示値を変更しても機能しません

  12. 12

    関数から文字列値を返してmongoDBに保存しようとしても機能しません

  13. 13

    経験累積分布関数「ecdf」は「xts」時系列では機能しません

  14. 14

    Mysqlの累積合計は時々しか機能しません

  15. 15

    PHP。配列の配列の値を変更しても機能しません

  16. 16

    累積的な同種変換:回転は機能しますが、平行移動は機能しませんか?

  17. 17

    Pythonの列に数値を加算しても正しく機能しませんか?

  18. 18

    派生変数をreact状態で保存しても機能しません

  19. 19

    変数からSQLServerトリガーを作成しても機能しません

  20. 20

    アプリケーションの破棄時に変数を保存しても機能しません

  21. 21

    毎秒変数にポイントを追加しても機能しません(Unity3d)

  22. 22

    forループjs内に変数の名前を作成しても機能しません

  23. 23

    入力値を配列に保存しても機能しません(反応)

  24. 24

    WordPressのメタ値にifクエリを追加しても機能しません

  25. 25

    NSDictionaryから値を取得しても機能しません

  26. 26

    AuthorizedKeysFileをデフォルト以外に変更しても機能しません

  27. 27

    AuthorizedKeysFileをデフォルト以外に変更しても機能しません

  28. 28

    文字列をdoubleに変換しても機能しませんか?

  29. 29

    文字列をバイト配列に変換しても機能しません

ホットタグ

アーカイブ