tencent cloud

Tencent Cloud WeData

SQL Tagステートメント

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-29 16:23:27
AI翻訳
WeDataの開発およびオーケストレーションスペースはSQL Tagステートメント機能をサポートしており、ユーザーはSQLでif-else、forループなどのロジック判断を使用することで、よりシンプルなコードでより複雑なビジネスロジックを実現できます。

スクリプト冒頭の特殊識別子

--SQL/VMSCRIPT
#set( $cnt = 10 )
select $cnt;

代入文と演算子

--SQL/VMSCRIPT
#set( $cnt = 10 )
#set( $cnt = $cnt + 1 )
select $cnt;

演算子

演算子
演算子
例
Object Equivalence
==
#if( $foo == $bar )
Not Equals
!=
#if( $foo != $bar )
Less Than or Equal To
<=
#if( $foo <= 42 )
Less Than
<
#if( $foo < 42 )
Greater Than or Equal To
>=
#if( $foo >= 42 )
Greater Than
>
#if( $foo > 42 )
Equals String
==
#if( $foo == "bar" )
Equals Number
==
#if( $foo == 42 )
Boolean NOT
!
#if( !$foo )

for-each文

整数形式

--SQL/VMSCRIPT
#set( $cnt = 10 )
#set( $cnt = $cnt + 1 )
#foreach($i in $_range.of(1, $cnt, 1))
select $cnt,$i;
#end

リスト表示

--SQL/VMSCRIPT
#foreach($table in ["test_user_info_table", "test_issue_info_table"])
select '$table' table_name, count(1) cnt from $table where substring(create_time, 1, 7) = '2022-11'
#if($foreach.last != true)
union all
#end
#end

条件判定文

代入変数の使用

--SQL/VMSCRIPT
--この文はage>2の分岐を実行します
#set( $flag_1 = 0 )
#set( $flag_2 = 0 )
select * from default.demo_hive
where
#if($flag_1 == 1)
id = 1;
#elseif( $flag_2 == 1)
id = 2;
#else
id >2;
#end
システムパラメータを使用します。システムパラメータは必ず${variable_name}形式を使用する必要があります。
ここでは、変数flag_1とflag_2はワークフロータスクのスケジュール設定で両方とも0に設定されています。
--SQL/VMSCRIPT
--この文はage>2の分岐を実行します
select * from default.demo_hive
where
#if(${flag_1} == 1)
age = 1;
#elseif(${flag_2} == 1)
age = 2;
#else
age >2;
#end
システム変数と時間変数を使用します。ここで、dt、dt_pre_7d、dt_pre_1dは作成された時間パラメータ変数です。
--SQL/VMSCRIPT
--この文はelseの分岐を実行します
select * from default.user_info
where
#if(${is_reload} == "1")
create_time <= ${dt};
#elseif(${is_deltareload} == "1")
create_time between ${dt_pre_7d} and ${dt};
#else
create_time between ${dt_pre_1d} and ${dt};
#end

使用範囲の説明

WeDataの開発スペースおよびオーケストレーションスペースでSQL Tagを使用できます。

条件判定文

実装にはvelocityを使用しています。関連ドキュメントはApache Velocity Engine VTL Referenceを参照してください。
注意:
SQL Tagステートメントは、新規購入のスケジュールリソースグループに対しては、この機能が自動的に有効になります。既存のスケジュールリソースグループについては、産研チームによる再起動とアップグレードの支援が必要です。新しいスケジュールリソースグループを購入し、プロジェクトにバインドすることをお勧めします。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック