SnowConvert: SQL Serverの関数参照

ISNUMERIC_UDF

定義

このユーザー定義関数(UDF)は、式が有効な数値タイプかどうかを判定します。

ISNUMERIC_UDF(EXPR VARCHAR)
Copy

パラメーター

EXPR VARCHAR

評価される式。

戻り値

入力式が有効な数値データ型として評価された場合は1を返し、そうでない場合は0を返します。

使用例

入力:

SELECT ISNUMERIC_UDF('5');
Copy

出力:

1
Copy

PATINDEX_UDF

定義

このユーザー定義関数(UDF)は、指定された式でパターンが最初に出現する開始位置を返すか、パターンが見つからない場合はゼロを返します。

PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
Copy

パラメーター

PATTERN VARCHAR

検索するパターン。

EXPRESSION VARCHAR

評価される式。

戻り値

パターンの開始位置を整数で返します。

使用例

入力:

SELECT PATINDEX_UDF('an', 'banana');
Copy

出力:

2
Copy

ERROR_SEVERITY_UDF

定義

このユーザー定義関数(UDF)は、エラーの重大度を示す値を取得します。デフォルト値は常に16です。

ERROR_SEVERITY_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

SQL 変数名 ERROR_SEVERITY に関連付けられた値の 文字列 を返します。

使用例

入力:

SELECT ERROR_SEVERITY_UDF();
Copy

出力:

null -- No information set.
Copy

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
)
Copy

パラメーター

_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'));
Copy

出力:

SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
Copy

TABLE_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前のテーブルが以前に作成されたかどうかを確認します。

TABLE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価されるテーブル名。

戻り値

テーブルの存在に応じてブール式を返します。

使用例

入力:

SELECT TABLE_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

ERROR_PROCEDURE_UDF

定義

このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_PROCEDURE に関連付けられた値を返します。

ERROR_PROCEDURE_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

SQL 変数名 ERROR_PROCEDURE に関連付けられた値の 文字列 を返します。

使用例

入力:

SELECT ERROR_PROCEDURE_UDF();
Copy

出力:

null -- No information set.
Copy

DB_ID_UDF(STRING)

定義

このユーザー定義関数(UDF)は、 DB_ID の機能をエミュレートします。

DB_ID_UDF(p_database_name STRING)
Copy

パラメーター

p_database_name STRING

IDを取得する先のデータベース名。

戻り値

データベース作成時に割り当てられた番号に対応するIDを返します。この番号は連続的に割り当てられます。

使用例

入力:

SELECT DB_ID_UDF('MY_DATABASE')
Copy

出力:

6
Copy

警告

データベースが存在しない場合はnullを返します。

ERROR_LINE_UDF

定義

このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_LINE に関連付けられた値を返します。

ERROR_LINE_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

SQL 変数名 ERROR_LINE に関連付けられた値の 文字列 を返します。

使用例

入力:

SELECT ERROR_LINE_UDF();
Copy

出力:

null -- No information set.
Copy

FUNCTION_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前の関数が以前に作成されたかどうかを確認します。

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価される関数名。

戻り値

関数の存在に応じてブール式を返します。

使用例

入力:

SELECT FUNCTION_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

CONSTRAINT_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前の制約が以前に作成されたかどうかを確認します。

CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価される制約名。

戻り値

制約の存在に応じてブール式を返します。

使用例

入力:

SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)

定義

このユーザー定義関数(UDF)は、オブジェクトを XML に変換します。

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
Copy

パラメーター

OBJ OBJECT

変換するオブジェクト。

ELEMENT_NAME VARCHAR

オブジェクトに与える要素名。

ROOT_NAME VARCHAR

XML のルート名。

戻り値

XML の形式でvarcharを返します。

使用例

入力:

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
Copy

出力:

<employees>
    <employee type="OBJECT">
        <id type="INTEGER">1</id>
        <name type="VARCHAR">David</name>
    </employee>
<employees>
Copy

OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前のオブジェクトが以前に作成されたかどうかをチェックします。

OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価されるオブジェクト名。

戻り値

オブジェクトの存在に応じてブール式を返します。

使用例

入力:

SELECT OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

PROCEDURE_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前のプロシージャが以前に作成されたかどうかを確認します。

PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価されるプロシージャ名。

戻り値

プロシージャの存在に応じてブール式を返します。

使用例

入力:

SELECT PROCEDURE_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

ISDATE_UDF

定義

このユーザー定義関数(UDF)は、入力値が有効な日付かどうかを判定します。

ISDATE_UDF(DATE_VALUE STRING)
Copy

パラメーター

DATE_VALUE STRING

評価される日付。

戻り値

入力式が有効な日付データ型として評価された場合は1を返し、そうでない場合は0を返します。

使用例

入力:

SELECT ISDATE_UDF('2024-01-26');
Copy

出力:

1
Copy

ERROR_NUMBER_UDF

定義

このユーザー定義関数(UDF)は、 SQL 変数名 ERROR_NUMBER に関連付けられた値を返します。

ERROR_NUMBER_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

SQL 変数名 ERROR_NUMBER に関連付けられた値の 文字列 を返します。

使用例

入力:

SELECT ERROR_NUMBER_UDF();
Copy

出力:

null -- No information set.
Copy

OFFSET_FORMATTER (VARCHAR)

定義

このユーザー定義関数(UDF)は、オフセット時およびそのプレフィックス演算子を形式化するための 補助関数 です。

OFFSET_FORMATTER(offset_hrs VARCHAR)
Copy

パラメーター

offset_hrs VARCHAR

フォーマットされる値。

戻り値

オフセットの形式出力をvarchar値で返します。

使用例

入力:

 SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
Copy

出力:

2024-01-26 22:00:50.708 -0800
Copy

OPENXML_UDF

定義

このユーザー定義関数(UDF)は、 XML の読み取り値からクエリを生成します。

OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
Copy

パラメーター

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'));
Copy

出力:

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)
Copy

パラメーター

STR VARCHAR

変換する文字列。

QUOTECHAR VARCHAR

最初のパラメーターに追加する区切り文字。

戻り値

2番目のパラメーターの識別子を区切り文字として付加したvarcharを返します。

使用例

入力:

SELECT QUOTENAME_UDF('test', '?');
Copy

出力:

?test?
Copy

UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)

定義

このユーザー定義関数(UDF)は、プロシージャがいつエラーをスローしたかを知るために、環境のエラー変数を更新します。

UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
Copy

パラメーター

STATE STRING

エラーメッセージの状態。

MESSAGE STRING

エラー時に表示するメッセージ。

SEVERITY STRING

エラーの重大度。

戻り値

新しいエラーメッセージ情報を含む 文字列 値を返します。

使用例

入力:

  SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
Copy

出力:

1ABC1
Copy

ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)

定義

このユーザー定義関数(UDF)は、ミリ秒を0、3、7ミリ秒単位の増分で丸める関数です。トランザクションは、日付時間の値のミリ秒を自動的に丸めます。

ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
Copy

パラメーター

INPUT TIMESTAMP_TZ

丸められる入力時間。

戻り値

同じ入力 TIMESTAMP_TZ 値を、ミリ秒単位で丸めたものを返します。

使用例

入力:

SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
Copy

出力:

'1900-01-01 00:00:00.997 +0100'
Copy

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)

定義

このユーザー定義関数(UDF)は、 timestamp_tz に数値をキャストするために使用されます。

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
Copy

パラメーター

INPUT NUMBER

キャストされる番号。

戻り値

現在のタイムゾーンを timestamp_tz で返します。

使用例

入力:

SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
Copy

出力:

1900-01-01 01:00:00.000 +0100
Copy

IDENTITY_UDF

定義

このユーザー定義関数(UDF)は、式が有効な数値タイプかどうかを判定します。

IDENTITY_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

整数式を返します。

使用例

警告

ロジックをサポートするシーケンスが生成されます。

入力:

IDENTITY_UDF()
Copy

出力:

1
Copy

FOR_XML_UDF (OBJECT, VARCHAR)

定義

このユーザー定義関数(UDF)は、オブジェクトを XML に変換します。

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
Copy

パラメーター

OBJ OBJECT

変換するオブジェクト。

ELEMENT_NAME VARCHAR

オブジェクトに与える要素名。

戻り値

XML の形式でvarcharを返します。

使用例

入力:

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
Copy

出力:

<employee type="OBJECT">
    <id type="INTEGER">1</id>
    <name type="VARCHAR">David</name>
</employee>
Copy

QUOTENAME_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、区切り文字を追加したUnicode文字列を返して、有効な SQL Serverの区切り文字識別子を作成します。

QUOTENAME_UDF(STR VARCHAR)
Copy

パラメーター

STR VARCHAR

変換する文字列。

戻り値

区切り文字識別子を付加したvarcharを返します。

使用例

入力:

SELECT QUOTENAME_UDF('test');
Copy

出力:

"test"
Copy

VIEW_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前のビューが以前に作成されたかどうかを確認します。

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価されるビュー名。

戻り値

ビューの存在に応じてブール式を返します。

使用例

入力:

SELECT VIEW_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

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)
Copy

パラメーター

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')
Copy

出力:

1899-12-31 13:59:59.997 -0800
Copy

STR_UDF (FLOAT, VARCHAR)

定義

このユーザー定義関数(UDF)は、 SQL Server STR()が1つか2つのオプションパラメーターを使用している場合に、その機能をSnowflakeに翻訳するためのテンプレートです。

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

パラメーター

FLOAT_EXPR FLOAT

処理する式。

FORMAT VARCHAR

適用する形式。

戻り値

形式を指定したvarcharを返します。

使用例

入力:

SELECT STR_UDF(1.5, '99');
Copy

出力:

2
Copy

XML_JSON_SIMPLE

定義

このユーザー定義関数(UDF)は、 XML 値から読み取りを実行した情報をオブジェクトとして生成します。

XML_JSON_SIMPLE(XML VARIANT)
Copy

パラメーター

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>
')));
Copy

出力:

{
  "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
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
Copy

FORMATMESSAGE_UDF

定義

このユーザー定義関数(UDF)は、 SQL Server FORMATMESSAGE 関数の機能を提供します。既存のメッセージから文字列を指定してメッセージを作成します。

FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
Copy

パラメーター

MESSAGE STRING

既存のメッセージ文字列。

ARGS ARRAY

最初のメッセージ文字列に追加される引数。

戻り値

引数の位置に関連する対応連結メッセージのある文字列を返します。

使用例

入力:

SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
Copy

出力:

Test a!
Copy

IS_MEMBER_UDF

定義

このユーザー定義関数(UDF)は、アクセストークンを調べることによってウィンドウズグループメンバーシップを決定します。

IS_MEMBER_UDF(ROLE STRING)
Copy

パラメーター

ROLE STRING

チェックするロール名。

戻り値

現在のユーザーがロールのメンバーがtrueの場合はブール式で、そうでない場合はfalseを返します。

使用例

入力:

SELECT IS_MEMBER_UDF('TEST');
Copy

出力:

FALSE
Copy

RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)

定義

このユーザー定義関数(UDF)は、特定のメッセージを持つ例外をスローします。

RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

パラメーター

MSG_ID DOUBLE

エラーメッセージのメッセージ ID。

SEVERITY DOUBLE

エラーの重大度番号。

STATE DOUBLE

エラーメッセージの状態番号。

PARAMS ARRAY

エラーメッセージの追加情報。

戻り値

エラーメッセージのあるvarcharを返します。

使用例

入力:

SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
Copy

出力:

MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
Copy

STR_UDF(FLOAT)

定義

このユーザー定義関数(UDF)は、 SQL Server STR()が1つか2つのオプションパラメーターを使用している場合に、その機能をSnowflakeに翻訳するためのテンプレートです。

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

パラメーター

FLOAT_EXPR FLOAT

処理する式。

戻り値

形式を指定したvarcharを返します。

使用例

入力:

SELECT STR_UDF(1.5);
Copy

出力:

2
Copy

SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)

定義

このユーザー定義関数(UDF)は、パラメーターtarget_tzの時間を調整した新しいtimestamp_tzを返します。

SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
Copy

パラメーター

source_timestamp TIMESTAMP_TZ

調整するソースタイムスタンプ。

target_tz varchar

取得するターゲット時間。

戻り値

フォーマットされたターゲット時間を TIMESTAMP_TZ として返します。

使用例

入力:

SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
Copy

出力:

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()
Copy

パラメーター

パラメーターはありません。

戻り値

現在のセッションまたはシステムのタイムゾーンをリテラル値として返します。

使用例

入力:

SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
Copy

出力:

'Europe/London'
Copy

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)
Copy

パラメーター

LINE STRING

エラーに関連する行。

CODE STRING

エラーメッセージに関連するエラーコード。

STATE STRING

エラーメッセージの状態。

MESSAGE STRING

エラー時に表示するメッセージ。

PROC_NAME STRING

プロシージャ名。

SEVERITY STRING

エラーの重大度。

戻り値

新しいエラーメッセージ情報を含む 文字列 値を返します。

使用例

入力:

  SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
Copy

出力:

111ABCTEST1
Copy

SEQUENCE_OBJECT_ID_UDF (VARCHAR)

定義

このユーザー定義関数(UDF)は、特定の名前のシーケンスが以前に作成されたかどうかをチェックします。

SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

パラメーター

NAME VARCHAR

評価されるシーケンス名。

戻り値

シーケンスの存在に応じてブール式を返します。

使用例

入力:

SELECT SEQUENCE_OBJECT_ID_UDF('Test');
Copy

出力:

FALSE
Copy

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)

定義

このユーザー定義関数(UDF)は、 timestamp_tz を数値にキャストするために使用されます。数値では タイムスタンプ 情報を保存できないため、現在のタイムゾーンを UTC に変換します。

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
Copy

パラメーター

INPUT TIMESTAMP_TZ

キャストされる タイムスタンプ 入力。

戻り値

小数点のある数値を返します。整数部は1900-01-01からの日数を表し、10進数は24時間におけるミリ秒の割合を表します。

使用例

入力:

SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
Copy

出力:

0
Copy

RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)

定義

このユーザー定義関数(UDF)は、特定のメッセージを持つ例外をスローします。

RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

パラメーター

MSG_TEXT VARCHAR

エラーメッセージのメッセージテキスト。

SEVERITY DOUBLE

エラーの重大度番号。

STATE DOUBLE

エラーメッセージの状態番号。

PARAMS ARRAY

エラーメッセージの追加情報。

戻り値

エラーメッセージのあるvarcharを返します。

使用例

入力:

SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
Copy

出力:

MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
Copy

PARSENAME_UDF

定義

このユーザー定義関数(UDF)は、 「.」 で区切られた 文字列 の PART_NUMBER インデックスを取得します。

PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
Copy

パラメーター

STR VARCHAR

文字列 としてのオブジェクト名。

PART_NUMBER INT

確認するオブジェクト名の部分。

戻り値

オブジェクト名の指定された部分を返します。

使用例

入力:

SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
Copy

出力:

Test_B
Copy

ERROR_STATE_UDF

定義

このユーザー定義関数(UDF)は、何回実行されても、 CATCH ブロックのスコープ内のどこで実行されても、エラー状態を取得します。

ERROR_STATE_UDF()
Copy

パラメーター

入力パラメーターはありません。

戻り値

何回実行されても、また CATCH ブロックのスコープ内のどこで実行されても、エラー状態の 文字列 を返します。

使用例

入力:

SELECT ERROR_STATE_UDF();
Copy

出力:

null -- No information set.
Copy

CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)

定義

このユーザー定義関数(UDF)は、 timetimestamp_tz にキャストします。

CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
Copy

パラメーター

INPUT TIME

timestamp_tz にキャストされる入力時間。

戻り値

日付が1900-01-01で、入力と同じ時間の timestamp_tz を返します。

使用例

入力:

SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
Copy

出力:

1900-01-01 00:00:00.997
Copy

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)
Copy

パラメーター

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')
Copy

出力:

1900-01-01 00:00:00.003 +0000
Copy