問題タブ [concat-ws]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
27 参照

mysql - システム間の CONCAT_WS の動作の違い

これは単純な状況ですが、この問題の原因を理解したいと思いました。次のコードがあります(たとえば、変更されています):

私のローカルマシンには次のものがあります:

  • ウィンドウズ10
  • アパッチ 2.4.25
  • PHP 7.4.11
  • MySQL 5.7.25

その組み合わせで、次のコードは正常に動作します。

リモートサーバーには次のものがあります。

  • Ubuntu 20.04.1 LTS
  • アパッチ 2.4.41
  • PHP 7.4.3
  • MySQL 8.0.19

そのため、データ テーブルを使用するセクションがあり、データ テーブルはサーバー側の処理を使用して情報を取得します。ローカルでは情報が正しく表示されますが、リモートサーバーでは常に空の配列が得られます。そこで、リモート サーバーで同じ SQL コマンドを実行しようとしたところ、次のエラーが発生しました。

CONCAT_WS私のSQLは正しく形成されていたので、おそらく問題は関数に関連していると思いました.

そこで、次のように変更することにしました。

私は基本的にに変更CONCAT_WS(" ",CONCAT_WS(' ',、コードは意図したとおりに機能しました。

これが何らかの形で影響を与えるかどうかはわかりませんが、これは MySQL の使用要件CONCAT_WSまたはその他の要件の変更ですか?

他の場所で一重引用符で使用しても問題ありませんか?

0 投票する
1 に答える
59 参照

mysql - MySQL (mariaDB) Select の結果を集約したいのですが、1 つを除くすべての列が等しく、等しくない列は CONCAT_WS であり、単一の値になります。

左結合クエリから返された行がいくつかあり、1 つを除いてすべての列が同じです。これらの列は順番になります。

等しくない列 CONCAT_WS を使用して単一の値に集計したいのですが、集計したい行を除いて等しい行の出力結果には 1 行しかありません。

これはPHPスクリプトでできますが、SQL文でできるのか疑問に思いました

mySQLサーバーとしてmariaDBを使用しています

次のように、これらのレコードの単一の結果を取得したいと思います。選択クエリから、これらのスタイル付きレコードの多くのブロックと、単一の一意の値の行があります。

CONACAT_WS(",", rec1.col4, rec2.col4, rec3.col4,rec4.col4,rec5.col4) を使用

上記はSQLだけで可能ですか?

他の人がやりたかった可能性のあるシナリオのようです。

やりたいことの専門用語があるのか​​もしれませんが、わかりません。

ありがとう

mcl

0 投票する
2 に答える
29 参照

sql - concat_ws SQL クエリの列の値に基づく文字列

を使用して複数のフィールドの値を連結しようとしていますconcat_ws。フィールドの 1 つ ( ) には、またはis_loggedの値のみが含まれます。フィールドの値がそうでない場合は連結したい。01yesis_logged1no

例 - concat_ws('', month,'-', year, ',Logged-', is_logged) info

電流出力 -Dec - 2020,Logged-1

期待される出力 -Dec - 2020,Logged-Yes

これはどのように達成できますか?ありがとう!

0 投票する
0 に答える
22 参照

mysql - concat_ws で制限結果を使用して順序を変更するのはなぜですか?

どの行が更新されたかを知るために、次のようなクエリがあります。

このクエリを実行すると、1 つ以上が返されます。しかし、これに変更すると、次のようになります。

1 つだけを返します。この問題を解決するにはどうすればよいですか?

戻り値:

更新された行のみが1であり、1つだけにしたいのですが1,2,3.