CONCAT関数を含むSQLの実行結果をセル起点で表示すると選択結果が消える
2019-09-17 13:21
CELFのSQL実行機能を利用してSQLを実行しています。
SELECT句にMYSQLの文字列結合関数 CONCAT関数を使用し、文字列(varchar)を結合して選択します。
SELECT CONCAT(a,b),c
FROM test_table
これをセル起点で表示します
結果としては
1列目のセル,2列目のセル
ab,c
が2列のセルに表示されることを期待しているのですが
1列目のセル
c
のみがセルに表示されます。
カラムはCONCAT関数を使用したひとつのみ選択のSQL
SELECT CONCAT(a,b)
FROM test_table
をCELF上で実行しますと、
1列目のセル
ab
がセルに格納されます
どうもCONCAT関数より後ろの列が展開されていないような状態です。
mySQLのツール MYSQL WORKBENCHでSQLを実行すると当方が欲しい結果が得られますので、SQLの間違いではなく、DBのほうにNULLが入っているのでもなさそうです。
これは当方の環境だけでしょうか。
やりたいことを他に実現する方法はありますでしょうか。
回答を投稿するにはログインが必要です。
ありがとうございました。
新日本コンピュータマネジメント株式会社
パートナー
CELFでSQLアクションを使った場合に、SELECT句で計算式や関数を使った際、別名を明示しないとエラーになる認識です。(DB依存があるかもしれませんが。)
計算式や関数を使ったSELECTには、必ず別名を付ける様にして頂いた方が間違いがないと思われます。
計算式や関数を使ったSELECTには、必ず別名を付ける様にして頂いた方が間違いがないと思われます。
ベストアンサー
私の場合はAS句を使って別名を作成することで、文字列結合が出力出来ました。
質問者様の最初の例を使わせていただくと
SELECT
CONCAT(a,b) AS ab, c
FROM test_table
となります。
質問者様の最初の例を使わせていただくと
SELECT
CONCAT(a,b) AS ab, c
FROM test_table
となります。