SnowConvert: SQL Serverの関数参照¶
ISNUMERIC_UDF¶
定義¶
このユーザー定義関数(UDF)は、式が有効な数値タイプかどうかを判定します。
ISNUMERIC_UDF(EXPR VARCHAR)
パラメーター¶
EXPR
VARCHAR
評価される式。
戻り値¶
入力式が有効な数値データ型として評価された場合は1を返し、そうでない場合は0を返します。
使用例¶
入力:
SELECT ISNUMERIC_UDF('5');
出力:
1
PATINDEX_UDF¶
定義¶
このユーザー定義関数(UDF)は、指定された式でパターンが最初に出現する開始位置を返すか、パターンが見つからない場合はゼロを返します。
PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
パラメーター¶
PATTERN
VARCHAR
検索するパターン。
EXPRESSION
VARCHAR
評価される式。
戻り値¶
パターンの開始位置を整数で返します。
使用例¶
入力:
SELECT PATINDEX_UDF('an', 'banana');
出力:
2
ERROR_SEVERITY_UDF¶
定義¶
このユーザー定義関数(UDF)は、エラーの重大度を示す値を取得します。デフォルト値は常に16です。
ERROR_SEVERITY_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
SQL 変数名 ERROR_SEVERITY
に関連付けられた値の 文字列
を返します。
使用例¶
入力:
SELECT ERROR_SEVERITY_UDF();
出力:
null -- No information set.
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(STRING, STRING, ARRAY, ARRAY)¶
定義¶
このユーザー定義関数(UDF)は、 SQL 文字列内の値を直接置き換えることで、 SP_EXECUTESQL システムプロシージャの組み込みパラメーター(データバインド)の動作をエミュレートします。
さらに、これは SP_EXECUTESQL が変換される EXECUTE IMMEDIATE の外部で行われるため、文字列から OUTPUT パラメーターを削除します。
詳細情報については、 SP_EXECUTESQL 翻訳仕様をご確認ください。
TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
_SQL_STRING STRING,
_PARAMS_DEFINITION STRING,
_PARAMS_NAMES ARRAY,
_PARAMS_VALUES ARRAY
)
パラメーター¶
_SQL_STRING
STRING
変換する文字列。
_PARAMS_DEFINITION
STRING
元のパラメーター定義は、パラメーターの値を割り当てる順番を確認します。
_PARAMS_NAMES
ARRAY
SQL 文字列の値を置き換えるパラメーター名の配列。
_PARAMS_VALUES
ARRAY
SQL 文字列で置き換えるパラメーター値の配列。
戻り値¶
埋め込まれたパラメーターの値を置き換えた STRING を返します。
使用例¶
入力:
SELECT TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
'SELECT * FROM PERSONS WHERE NAME LIKE (@NAME) AND ID < @id AND AGE < @age;', '@age INT, @id INT, @name VARCHAR(25)',
ARRAY_CONSTRUCT('', '', ''),
ARRAY_CONSTRUCT(30, 100, 'John Smith'));
出力:
SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
TABLE_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前のテーブルが以前に作成されたかどうかを確認します。
TABLE_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価されるテーブル名。
戻り値¶
テーブルの存在に応じてブール式を返します。
使用例¶
入力:
SELECT TABLE_OBJECT_ID_UDF('Test');
出力:
FALSE
ERROR_PROCEDURE_UDF¶
定義¶
このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_PROCEDURE
に関連付けられた値を返します。
ERROR_PROCEDURE_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
SQL 変数名 ERROR_PROCEDURE
に関連付けられた値の 文字列
を返します。
使用例¶
入力:
SELECT ERROR_PROCEDURE_UDF();
出力:
null -- No information set.
DB_ID_UDF(STRING)¶
定義¶
このユーザー定義関数(UDF)は、 DB_ID の機能をエミュレートします。
DB_ID_UDF(p_database_name STRING)
パラメーター¶
p_database_name
STRING
IDを取得する先のデータベース名。
戻り値¶
データベース作成時に割り当てられた番号に対応するIDを返します。この番号は連続的に割り当てられます。
使用例¶
入力:
SELECT DB_ID_UDF('MY_DATABASE')
出力:
6
警告
データベースが存在しない場合はnullを返します。
ERROR_LINE_UDF¶
定義¶
このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_LINE
に関連付けられた値を返します。
ERROR_LINE_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
SQL 変数名 ERROR_LINE
に関連付けられた値の 文字列
を返します。
使用例¶
入力:
SELECT ERROR_LINE_UDF();
出力:
null -- No information set.
FUNCTION_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前の関数が以前に作成されたかどうかを確認します。
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価される関数名。
戻り値¶
関数の存在に応じてブール式を返します。
使用例¶
入力:
SELECT FUNCTION_OBJECT_ID_UDF('Test');
出力:
FALSE
CONSTRAINT_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前の制約が以前に作成されたかどうかを確認します。
CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価される制約名。
戻り値¶
制約の存在に応じてブール式を返します。
使用例¶
入力:
SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
出力:
FALSE
FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、オブジェクトを XML に変換します。
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
パラメーター¶
OBJ
OBJECT
変換するオブジェクト。
ELEMENT_NAME
VARCHAR
オブジェクトに与える要素名。
ROOT_NAME
VARCHAR
XML のルート名。
戻り値¶
XML の形式でvarcharを返します。
使用例¶
入力:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
出力:
<employees>
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
<employees>
OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前のオブジェクトが以前に作成されたかどうかをチェックします。
OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価されるオブジェクト名。
戻り値¶
オブジェクトの存在に応じてブール式を返します。
使用例¶
入力:
SELECT OBJECT_ID_UDF('Test');
出力:
FALSE
PROCEDURE_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前のプロシージャが以前に作成されたかどうかを確認します。
PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価されるプロシージャ名。
戻り値¶
プロシージャの存在に応じてブール式を返します。
使用例¶
入力:
SELECT PROCEDURE_OBJECT_ID_UDF('Test');
出力:
FALSE
ISDATE_UDF¶
定義¶
このユーザー定義関数(UDF)は、入力値が有効な日付かどうかを判定します。
ISDATE_UDF(DATE_VALUE STRING)
パラメーター¶
DATE_VALUE
STRING
評価される日付。
戻り値¶
入力式が有効な日付データ型として評価された場合は1を返し、そうでない場合は0を返します。
使用例¶
入力:
SELECT ISDATE_UDF('2024-01-26');
出力:
1
ERROR_NUMBER_UDF¶
定義¶
このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_NUMBER
に関連付けられた値を返します。
ERROR_NUMBER_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
SQL 変数名 ERROR_NUMBER
に関連付けられた値の 文字列
を返します。
使用例¶
入力:
SELECT ERROR_NUMBER_UDF();
出力:
null -- No information set.
OFFSET_FORMATTER (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、オフセット時およびそのプレフィックス演算子を形式化するための 補助関数 です。
OFFSET_FORMATTER(offset_hrs VARCHAR)
パラメーター¶
offset_hrs
VARCHAR
フォーマットされる値。
戻り値¶
オフセットの形式出力をvarchar値で返します。
使用例¶
入力:
SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
出力:
2024-01-26 22:00:50.708 -0800
OPENXML_UDF¶
定義¶
このユーザー定義関数(UDF)は、 XML の読み取り値からクエリを生成します。
OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
パラメーター¶
XML
VARCHAR
varchar
としての XML コンテンツ。
PATH
VARCHAR
抽出するノードのパス。
戻り値¶
XML の読み取りによって生成されたデータを含むテーブルを返します。
使用例¶
入力:
SELECT * FROM TABLE(OPENXML_UDF('<iceCreamOrders>
<order>
<customer customerID="CUST001" contactName="Test ABC">
<iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
<iceCreamDetail productID="001" quantity="2"/>
<iceCreamDetail productID="003" quantity="1"/>
</iceCreamOrder>
</customer>
</order>
<order>
<customer customerID="CUST002" contactName="Test XYZ">
<iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
<iceCreamDetail productID="005" quantity="3"/>
<iceCreamDetail productID="007" quantity="2"/>
</iceCreamOrder>
</customer>
</order>
</iceCreamOrders>
', 'iceCreamOrders:order'));
出力:
Value | |
---|---|
1 | { "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test ABC", "@customerID": "CUST001", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 101, "@orderDate": "2023-05-15T14:30:00", "@orderID": "ORD001", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "001", "@quantity": 2 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "003", "@quantity": 1 } } ] } } ] } } ] } } |
2 | { "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test XYZ", "@customerID": "CUST002", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 102, "@orderDate": "2023-06-20T12:45:00", "@orderID": "ORD002", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "005", "@quantity": 3 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "007", "@quantity": 2 } } ] } } ] } } ] } } |
QUOTENAME_UDF (VARCHAR, VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、区切り文字を追加したUnicode文字列を返して、有効な SQL Serverの区切り文字識別子を作成します。
QUOTENAME_UDF(STR VARCHAR, QUOTECHAR VARCHAR)
パラメーター¶
STR
VARCHAR
変換する文字列。
QUOTECHAR
VARCHAR
最初のパラメーターに追加する区切り文字。
戻り値¶
2番目のパラメーターの識別子を区切り文字として付加したvarcharを返します。
使用例¶
入力:
SELECT QUOTENAME_UDF('test', '?');
出力:
?test?
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)¶
定義¶
このユーザー定義関数(UDF)は、プロシージャがいつエラーをスローしたかを知るために、環境のエラー変数を更新します。
UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
パラメーター¶
STATE
STRING
エラーメッセージの状態。
MESSAGE
STRING
エラー時に表示するメッセージ。
SEVERITY
STRING
エラーの重大度。
戻り値¶
新しいエラーメッセージ情報を含む 文字列
値を返します。
使用例¶
入力:
SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
出力:
1ABC1
ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)¶
定義¶
このユーザー定義関数(UDF)は、ミリ秒を0、3、7ミリ秒単位の増分で丸める関数です。トランザクションは、日付時間の値のミリ秒を自動的に丸めます。
ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
パラメーター¶
INPUT
TIMESTAMP_TZ
丸められる入力時間。
戻り値¶
同じ入力 TIMESTAMP_TZ
値を、ミリ秒単位で丸めたものを返します。
使用例¶
入力:
SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
出力:
'1900-01-01 00:00:00.997 +0100'
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)¶
定義¶
このユーザー定義関数(UDF)は、 timestamp_tz
に数値をキャストするために使用されます。
CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
パラメーター¶
INPUT
NUMBER
キャストされる番号。
戻り値¶
現在のタイムゾーンを timestamp_tz
で返します。
使用例¶
入力:
SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
出力:
1900-01-01 01:00:00.000 +0100
IDENTITY_UDF¶
定義¶
このユーザー定義関数(UDF)は、式が有効な数値タイプかどうかを判定します。
IDENTITY_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
整数式を返します。
使用例¶
警告
ロジックをサポートするシーケンスが生成されます。
入力:
IDENTITY_UDF()
出力:
1
FOR_XML_UDF (OBJECT, VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、オブジェクトを XML に変換します。
FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
パラメーター¶
OBJ
OBJECT
変換するオブジェクト。
ELEMENT_NAME
VARCHAR
オブジェクトに与える要素名。
戻り値¶
XML の形式でvarcharを返します。
使用例¶
入力:
SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
出力:
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
QUOTENAME_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、区切り文字を追加したUnicode文字列を返して、有効な SQL Serverの区切り文字識別子を作成します。
QUOTENAME_UDF(STR VARCHAR)
パラメーター¶
STR
VARCHAR
変換する文字列。
戻り値¶
区切り文字識別子を付加したvarcharを返します。
使用例¶
入力:
SELECT QUOTENAME_UDF('test');
出力:
"test"
VIEW_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前のビューが以前に作成されたかどうかを確認します。
VIEW_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価されるビュー名。
戻り値¶
ビューの存在に応じてブール式を返します。
使用例¶
入力:
SELECT VIEW_OBJECT_ID_UDF('Test');
出力:
FALSE
SUBTRACT_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
定義¶
このユーザー定義関数(UDF)は、両方の入力をシステムセッションのタイムゾーンに変換し、1900-01-01 00:00:00.000をゼロ値として日付(FIRST_DATE
- SECOND_DATE
)を減算します。どの値にもタイムゾーンが含まれていない場合は、現在のセッションのタイムゾーンが使用されます。
PUBLIC.SUBTRACT_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
パラメーター¶
FIRST_DATE
TIMESTAMP_TZ
減算される最初の日付。
SECOND_DATE
TIMESTAMP_TZ
減算する2番目の日付。
戻り値¶
入力された2つの日付の差を返します。
使用例¶
入力:
SELECT SUBTRACT_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
出力:
1899-12-31 13:59:59.997 -0800
STR_UDF (FLOAT, VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、 SQL Server STR()が1つか2つのオプションパラメーターを使用している場合に、その機能をSnowflakeに翻訳するためのテンプレートです。
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
パラメーター¶
FLOAT_EXPR
FLOAT
処理する式。
FORMAT
VARCHAR
適用する形式。
戻り値¶
形式を指定したvarcharを返します。
使用例¶
入力:
SELECT STR_UDF(1.5, '99');
出力:
2
XML_JSON_SIMPLE¶
定義¶
このユーザー定義関数(UDF)は、 XML 値から読み取りを実行した情報をオブジェクトとして生成します。
XML_JSON_SIMPLE(XML VARIANT)
パラメーター¶
XML
VARIANT
読み取る XML。
戻り値¶
XML からの処理された情報を持つオブジェクトを返します。
使用例¶
入力:
SELECT XML_JSON_SIMPLE(TO_VARIANT(PARSE_XML('<iceCreamOrders>
<order>
<customer customerID="CUST001" contactName="Test ABC">
<iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
<iceCreamDetail productID="001" quantity="2"/>
<iceCreamDetail productID="003" quantity="1"/>
</iceCreamOrder>
</customer>
</order>
<order>
<customer customerID="CUST002" contactName="Test XYZ">
<iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
<iceCreamDetail productID="005" quantity="3"/>
<iceCreamDetail productID="007" quantity="2"/>
</iceCreamOrder>
</customer>
</order>
</iceCreamOrders>
')));
出力:
{
"iceCreamOrders": {
"$name": "iceCreamOrders",
"order": [
{
"order": {
"$name": "order",
"customer": [
{
"customer": {
"$name": "customer",
"@contactName": "Test ABC",
"@customerID": "CUST001",
"iceCreamOrder": [
{
"iceCreamOrder": {
"$name": "iceCreamOrder",
"@employeeID": 101,
"@orderDate": "2023-05-15T14:30:00",
"@orderID": "ORD001",
"iceCreamDetail": [
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "001",
"@quantity": 2
}
},
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "003",
"@quantity": 1
}
}
]
}
}
]
}
}
]
}
},
{
"order": {
"$name": "order",
"customer": [
{
"customer": {
"$name": "customer",
"@contactName": "Test XYZ",
"@customerID": "CUST002",
"iceCreamOrder": [
{
"iceCreamOrder": {
"$name": "iceCreamOrder",
"@employeeID": 102,
"@orderDate": "2023-06-20T12:45:00",
"@orderID": "ORD002",
"iceCreamDetail": [
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "005",
"@quantity": 3
}
},
{
"iceCreamDetail": {
"$name": "iceCreamDetail",
"@productID": "007",
"@quantity": 2
}
}
]
}
}
]
}
}
]
}
}
]
}
}
FORMATMESSAGE_UDF¶
定義¶
このユーザー定義関数(UDF)は、 SQL Server FORMATMESSAGE 関数の機能を提供します。既存のメッセージから文字列を指定してメッセージを作成します。
FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
パラメーター¶
MESSAGE
STRING
既存のメッセージ文字列。
ARGS
ARRAY
最初のメッセージ文字列に追加される引数。
戻り値¶
引数の位置に関連する対応連結メッセージのある文字列を返します。
使用例¶
入力:
SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
出力:
Test a!
IS_MEMBER_UDF¶
定義¶
このユーザー定義関数(UDF)は、アクセストークンを調べることによってウィンドウズグループメンバーシップを決定します。
IS_MEMBER_UDF(ROLE STRING)
パラメーター¶
ROLE
STRING
チェックするロール名。
戻り値¶
現在のユーザーがロールのメンバーがtrueの場合はブール式で、そうでない場合はfalseを返します。
使用例¶
入力:
SELECT IS_MEMBER_UDF('TEST');
出力:
FALSE
RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)¶
定義¶
このユーザー定義関数(UDF)は、特定のメッセージを持つ例外をスローします。
RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
パラメーター¶
MSG_ID
DOUBLE
エラーメッセージのメッセージ ID。
SEVERITY
DOUBLE
エラーの重大度番号。
STATE
DOUBLE
エラーメッセージの状態番号。
PARAMS
ARRAY
エラーメッセージの追加情報。
戻り値¶
エラーメッセージのあるvarcharを返します。
使用例¶
入力:
SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
出力:
MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
STR_UDF(FLOAT)¶
定義¶
このユーザー定義関数(UDF)は、 SQL Server STR()が1つか2つのオプションパラメーターを使用している場合に、その機能をSnowflakeに翻訳するためのテンプレートです。
STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
パラメーター¶
FLOAT_EXPR
FLOAT
処理する式。
戻り値¶
形式を指定したvarcharを返します。
使用例¶
入力:
SELECT STR_UDF(1.5);
出力:
2
SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、パラメーターtarget_tzの時間を調整した新しいtimestamp_tzを返します。
SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
パラメーター¶
source_timestamp
TIMESTAMP_TZ
調整するソースタイムスタンプ。
target_tz
varchar
取得するターゲット時間。
戻り値¶
フォーマットされたターゲット時間を TIMESTAMP_TZ として返します。
使用例¶
入力:
SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
出力:
time_in_paris |
time_in_costa_rica |
---|---|
2022-10-05 22:00:24.467 +02:00 |
2022-10-05 14:00:24.467 -06:00 |
GET_CURRENT_TIMEZONE_UDF¶
定義¶
このユーザー定義関数(UDF)は、現在のセッションまたはシステムのタイムゾーンをリテラルとして取得します。
GET_CURRENT_TIMEZONE_UDF()
パラメーター¶
パラメーターはありません。
戻り値¶
現在のセッションまたはシステムのタイムゾーンをリテラル値として返します。
使用例¶
入力:
SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
出力:
'Europe/London'
UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING, STRING, STRING, STRING)¶
定義¶
このユーザー定義関数(UDF)は、プロシージャがいつエラーをスローしたかを知るために、環境のエラー変数を更新します。
UPDATE_ERROR_VARS_UDF(LINE STRING,CODE STRING, STATE STRING, MESSAGE STRING, PROC_NAME STRING, SEVERITY STRING)
パラメーター¶
LINE
STRING
エラーに関連する行。
CODE
STRING
エラーメッセージに関連するエラーコード。
STATE
STRING
エラーメッセージの状態。
MESSAGE
STRING
エラー時に表示するメッセージ。
PROC_NAME
STRING
プロシージャ名。
SEVERITY
STRING
エラーの重大度。
戻り値¶
新しいエラーメッセージ情報を含む 文字列
値を返します。
使用例¶
入力:
SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
出力:
111ABCTEST1
SEQUENCE_OBJECT_ID_UDF (VARCHAR)¶
定義¶
このユーザー定義関数(UDF)は、特定の名前のシーケンスが以前に作成されたかどうかをチェックします。
SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
パラメーター¶
NAME
VARCHAR
評価されるシーケンス名。
戻り値¶
シーケンスの存在に応じてブール式を返します。
使用例¶
入力:
SELECT SEQUENCE_OBJECT_ID_UDF('Test');
出力:
FALSE
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)¶
定義¶
このユーザー定義関数(UDF)は、 timestamp_tz
を数値にキャストするために使用されます。数値では タイムスタンプ
情報を保存できないため、現在のタイムゾーンを UTC に変換します。
CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
パラメーター¶
INPUT
TIMESTAMP_TZ
キャストされる タイムスタンプ
入力。
戻り値¶
小数点のある数値を返します。整数部は1900-01-01からの日数を表し、10進数は24時間におけるミリ秒の割合を表します。
使用例¶
入力:
SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
出力:
0
RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)¶
定義¶
このユーザー定義関数(UDF)は、特定のメッセージを持つ例外をスローします。
RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
パラメーター¶
MSG_TEXT
VARCHAR
エラーメッセージのメッセージテキスト。
SEVERITY
DOUBLE
エラーの重大度番号。
STATE
DOUBLE
エラーメッセージの状態番号。
PARAMS
ARRAY
エラーメッセージの追加情報。
戻り値¶
エラーメッセージのあるvarcharを返します。
使用例¶
入力:
SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
出力:
MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
PARSENAME_UDF¶
定義¶
このユーザー定義関数(UDF)は、 「.」
で区切られた 文字列
の PART_NUMBER インデックスを取得します。
PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
パラメーター¶
STR
VARCHAR
文字列
としてのオブジェクト名。
PART_NUMBER
INT
確認するオブジェクト名の部分。
戻り値¶
オブジェクト名の指定された部分を返します。
使用例¶
入力:
SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
出力:
Test_B
ERROR_STATE_UDF¶
定義¶
このユーザー定義関数(UDF)は、何回実行されても、 CATCH
ブロックのスコープ内のどこで実行されても、エラー状態を取得します。
ERROR_STATE_UDF()
パラメーター¶
入力パラメーターはありません。
戻り値¶
何回実行されても、また CATCH
ブロックのスコープ内のどこで実行されても、エラー状態の 文字列
を返します。
使用例¶
入力:
SELECT ERROR_STATE_UDF();
出力:
null -- No information set.
CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)¶
定義¶
このユーザー定義関数(UDF)は、 time
を timestamp_tz
にキャストします。
CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
パラメーター¶
INPUT
TIME
timestamp_tz
にキャストされる入力時間。
戻り値¶
日付が1900-01-01で、入力と同じ時間の timestamp_tz
を返します。
使用例¶
入力:
SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
出力:
1900-01-01 00:00:00.997
SUM_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)¶
定義¶
このユーザー定義関数(UDF)は、両方の入力をシステムまたはセッションのタイムゾーンに変換し、1900-01-01 00:00:00.000をゼロ値として日付を合計します。どの値にもタイムゾーンが含まれていない場合は、現在のセッションのタイムゾーンが使用されます。
SUM_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
パラメーター¶
FIRST_DATE
TIMESTAMP_TZ
加算先の最初の日付。
SECOND_DATE
TIMESTAMP_TZ
加算先の2番目の日付。
戻り値¶
入力された2つの日付の和を返します。
使用例¶
入力:
SELECT SUM_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
出力:
1900-01-01 00:00:00.003 +0000