SQL のさまざまな状況でバックスラッシュをいくつ記述する必要がありますか?

SQL の特定の部分では、フィールド内の json 文字列を解析する必要がありますが、その中の中国語文字もエンコードされ、同様の形式で保存されます。

u6e38u620f

SQL ステートメントは理論的には次のとおりです

get_json_object(extends,'$.cate')='u6e38u620f'

ただし、実際のシステムの実行には、正しい結果を選択するために何層のコンパイル プロセスが含まれるでしょうか。

実験の結論は次のとおりです。

存在する

spark-hive>

この場合、バックスラッシュを 2 つ入力するだけです

SQLの複数行マージ関数collect_set、collect_list、concat_ws

データベースからフィールドをN個取り出して、それを結合して「,」で区切って表示するのですが、最初はCONCAT()で処理しようと思ったのですが、意外とCONCAT_WS()が出てきて面倒でした。マニュアル、とても使いやすいです。

CONCAT_WS(separator, str1, str2,...)

これは CONCAT() の特殊な形式で、最初のパラメータは残りのパラメータ間の区切り文字になります。区切り文字が NULL の場合、戻り値も NULL になります。区切り文字パラメータの後に NULL および空の文字列がある場合、連結される文字列の間に区切り文字が追加されます。

簡単な例は次のとおりです。

SQL を購読