タスクフロー関数 タスクフロー式エディタでは複数の関数を使用できます。
主な関数の一部を以下に示します。
アセット詳細機能 式エディタの[その他] セクションから、次のアセット詳細関数を使用できます。 - getAssetLocation- getAssetName- getInstanceStartTime文字関数 式エディタの[文字列] セクションから、次の文字関数を使用できます。 - instr- lpad- ltrim- rtrim変換関数 式エディタの[日付と時刻] 、[その他] 、または[文字列] セクションから、次の変換関数を使用できます。 - toChar(Numbers)- toDate- toDecimal- toIntegerデータクレンジング関数 式エディタの[その他] セクションから、次のデータクレンジング関数を使用できます。 日付関数 式エディタの[日付と時刻] セクションから、次の日付関数を使用できます。 - addToDate- dateDiff- getDatePart- lastDay- trunc数値関数 式エディタの[数値] セクションから、次の数値関数を使用できます。 組織の詳細関数 式エディタの[その他] セクションから、次の組織の詳細関数を使用できます。 - getDefaultFailureEmailNotification- getDefaultSuccessEmailNotification- getDefaultWarningEmailNotification- getOrganizationNameテスト関数 式エディタの[その他] セクションから、次のテスト関数を使用できます。 addToDate 指定された量をDate/Time値の一部に加算し、関数に渡した日付と同じ形式の日付を返します。addToDate関数は、正と負の整数値を受け入れます。addToDateを使用して、日付の次の部分を変更します。
• 年。 amount 引数に正または負の整数を入力します。年のフォーマット文字列として、Y、YY、YYY、YYYYのいずれかを使用できます。次の式は、SHIP_DATEカラムのすべての日付に10年を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'YY', 10)
• 月。 amount 引数に正または負の整数を入力します。月のフォーマット文字列として、MM、MON、MONTHのいずれかを使用できます。次の式はSHIP_DATEカラムのすべての日付から10ヶ月を引きます。date:addToDate(xs:dateTime('SHIP_DATE'), 'MONTH', -10)
• 日。 amount 引数に正または負の整数を入力します。日のフォーマット文字列として、D、DD、DDD、DY、DAYのいずれかを使用できます。例えば、式はSHIP_DATEカラムのすべての日付に10日を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'DD', 10)
• 時間。 amount 引数に正または負の整数を入力します。時間のフォーマット文字列として、HH、HH12、HH24のいずれかを使用できます。以下の式は、SHIP_DATEカラムのすべての日付に14時間を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'HH', 14)
• 分。 amount 引数に正または負の整数を入力します。分の設定にはフォーマット文字列MIを使用します。以下の式は、SHIP_DATEカラムのすべての日付に25分を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'MI', 25)
• 秒。 amount 引数に正または負の整数を入力します。秒の設定にはSSフォーマット文字列を使用します。以下の式は、SHIP_DATEカラムのすべての日付に59秒を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'SS', 59)
• ミリ秒。 amount 引数に正または負の整数を入力します。秒の設定にはMSフォーマット文字列を使用します。以下の式は、SHIP_DATEカラムのすべての日付に125ミリ秒を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'MS', 125)
• マイクロ秒。 amount 引数に正または負の整数を入力します。秒の設定にはUSフォーマット文字列を使用します。以下の式は、SHIP_DATEカラムのすべての日付に2,000マイクロ秒を加えます。date:addToDate(xs:dateTime('SHIP_DATE'), 'US', 2000)
構文 date:addToDate(xs:dateTime('date'), 'format', amount)
注: xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/オプション
説明
日付
必須
Date/Timeデータ型。変更を行う値を渡します。
有効なトランスフォーメーション式を必要に応じて入力できます。
format
必須
日付値の中の変更を行う部分を指定するフォーマット文字列。フォーマット文字列は'mm'のように一重引用符で囲みます。フォーマット文字列は大文字と小文字を区別しません。
amount
必須
日付値を変更する値として、年数、月数、日数、時間数などを指定する整数値。整数を求める有効なトランスフォーメーション式を必要に応じて入力できます。
戻り値 関数に渡した日付と同じ形式の日付。
関数に引数としてNULL値が渡された場合には、NULLです。
例 以下の式はすべて、DATE_SHIPPEDカラムの各日付に1か月を加算します。特定の月に存在しない日を作成する値を渡すと、addToDateはその月の最後の日を返します。例えば、Jan 31 1998に1ヶ月を加えると、addToDateはFeb 28 1998を返します。
また、addToDateはうるう年を認識し、Jan 29 2000に1ヶ月を加えます。
date:addToDate(xs:dateTime('DATE_SHIPPED'), 'MM', 1) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'MON', 1) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'MONTH', 1)
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 12 1998 12:00:30AM
Feb 12 1998 12:00:30AM
Jan 31 1998 6:24:45PM
Feb 28 1998 6:24:45PM
Jan 29 2000 5:32:12AM
Feb 29 2000 5:32:12AM (Leap Year)
Oct 9 1998 2:30:12PM
Nov 9 1998 2:30:12PM
NULL
NULL
以下の式はすべて、DATE_SHIPPEDカラムの各日付から10日を減算します。
date:addToDate(xs:dateTime('DATE_SHIPPED'), 'D', -10) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'DD', -10) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'DDD', -10) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'DY', -10) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'DAY', -10)
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:30AM
Dec 22 1996 12:00AM
Jan 31 1997 6:24:45PM
Jan 21 1997 6:24:45PM
Mar 9 1996 5:32:12AM
Feb 29 1996 5:32:12AM (Leap Year)
Oct 9 1997 2:30:12PM
Sep 30 1997 2:30:12PM
Mar 3 1996 5:12:20AM
Feb 22 1996 5:12:20AM
NULL
NULL
以下の式はすべて、DATE_SHIPPEDカラムの各日付から15時間を減算します。
date:addToDate(xs:dateTime('DATE_SHIPPED'), 'HH', -15) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'HH12', -15) date:addToDate(xs:dateTime('DATE_SHIPPED'), 'HH24', -15)
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:30AM
Dec 31 1996 9:00:30AM
Jan 31 1997 6:24:45PM
Jan 31 1997 3:24:45AM
Oct 9 1997 2:30:12PM
Oct 8 1997 11:30:12PM
Mar 3 1996 5:12:20AM
Mar 2 1996 2:12:20PM
Mar 1 1996 5:32:12AM
Feb 29 1996 2:32:12PM (Leap Year)
NULL
NULL
base64Decode charSet引数で指定された文字セットに基づいて、指定された入力文字列のBase64デコードされたバージョンを返します。この関数は通常、添付ファイルに使用されます。
構文 util:base64Decode(data, charSet )
次の表に、引数を示します。
引数
必須/
オプション
説明
data
必須
Stringデータ型。デコードするデータ。
charSet
オプション
データの文字デコード。タスクフローは、Azul JDKでエンコード用にサポートされる文字セットをサポートします。これには、US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、およびUTF-16などが含まれます。
デフォルトはUTF-8です。
戻り値 デコードされた値。
NULL値を入力した場合は、NULLです。
例 MQSeriesメッセージIDをエンコードしてフラットファイルに書き込みました。フラットファイルソースから、MQSeriesメッセージIDを含むデータを読み込む必要があります。この場合、base64Decodeを使用してIDをデコードし、元の文字列値に変換できます。
dateDiff 2つの日付の間の時間の長さを返します。形式は、年、月、日、時間、分、秒、ミリ秒、またはマイクロ秒に指定できます。dateDiff関数は、最初の日付から2番目の日付を減算し、差を返します。
dateDiff関数は、日数ではなく月数に基づいて値を計算します。各月の選択された日で、1カ月に満たない月の日付の差を計算します。1ヶ月に満たない月の日付の差を計算するために、dateDiffは月内の日を加算します。次に、選択された月の全日数でその値を除算します。
dateDiff関数は、うるう年とうるう年以外の年では同じ期間で異なる値を算出します。違いが発生するのは、dateDiff関数に2月が含まれる場合です。dateDiff関数は、うるう年の2月は29日間で除算し、うるう年以外の年である場合は28日間で除算します。
例えば、9月13日から2月19日までの月数を計算するとします。うるう年の場合、dateDiff関数は2月を19/29ヶ月、つまり0.655ヶ月と計算します。うるう年以外の年の場合、dateDiff関数は2月を19/28ヶ月、つまり0.678ヶ月と計算します。dateDiff関数は、残りの月の日の差を同様に計算し、dateDiff関数が指定された期間における合計値を返します。
注: 日付の差を計算するのに異なるアルゴリズムを使用するデータベースもあります。
構文 date:dateDiff(xs:dateTime('date'), xs:dateTime('date'), 'format')
注: xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/オプション
説明
日付
必須
Date/Timeデータ型。比較を行う1つ目の日付の値を渡します。
有効なトランスフォーメーション式を必要に応じて入力できます。
日付
必須
Date/Timeデータ型。比較を行う2つ目の日付の値を渡します。
有効なトランスフォーメーション式を必要に応じて入力できます。
format
必須
日付または時間計測の単位を指定するフォーマット文字列。年、月、日、時間、分、秒、ミリ秒、またはマイクロ秒を指定できます。'mm'など、日付の中の1つの部分のみを指定できます。フォーマット文字列は一重引用符で囲んでください。フォーマット文字列は大文字と小文字を区別しません。(例えば、フォーマット文字列'mm'は'MM'、'Mm'、'mM'と同じです。
戻り値 Double値。最初の日付が2番目の日付より後の場合、戻り値は正の数になります。最初の日付が2番目の日付より前の場合、戻り値は負の数になります。
2つの日付が同じである場合は、ゼロです。
一方(または両方)の日付がNULLである場合は、NULLです。
例 次の式は、DATE_PROMISEDカラムとDATE_SHIPPEDカラムの日付の差が何時間あるかを返します。
date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'HH') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'HH12') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'HH24')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-2100
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
2100
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
6812.89166666667
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-8784
次の式は、DATE_PROMISEDカラムとDATE_SHIPPEDカラムの日付の差を日数で返します。
date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'D') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'DD') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'DDD') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'DY') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'DAY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-87.5
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
87.5
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
283.870486111111
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-366
次の式は、DATE_PROMISEDカラムとDATE_SHIPPEDカラムの日付の差を月数で返します。
date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MM') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MON') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MONTH')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-2.91935483870968
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
2.91935483870968
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
9.3290162037037
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-12
次の式は、DATE_PROMISEDカラムとDATE_SHIPPEDカラムの日付の差を年数で返します。
date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'Y') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'YY') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'YYY') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'YYYY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-0.24327956989247
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
0.24327956989247
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
0.77741801697531
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-1
次の式は、DATE_PROMISEDカラムとDATE_SHIPPEDカラムの日付の差を月数で返します。
date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MM') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MON') date:dateDiff(xs:dateTime('DATE_PROMISED'), xs:dateTime('DATE_SHIPPED'), 'MONTH')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
DATE_SHIPPED
LEAP YEAR VALUE (in Months)
NON-LEAP YEAR VALUE (in Months)
Sept 13
Feb 19
-5.237931034
-5.260714286
NULL
Feb 19
NULL
N/A
Sept 13
NULL
NULL
N/A
decode 指定した値をカラムで検索します。値を見つけると、定義された結果値を返します。1つのdecode関数内には、数に制限なく検索を指定できます。
decodeを使って文字列カラムの値を検索する場合には、rtrim関数で末尾の空白を削除することや、検索文字列内に空白文字を含めることもできます。
構文 util:decode(value, search1, result1, args, default)
次の表に、引数を示します。
引数
必須/
オプション
説明
value
必須
検索を行う値を渡します。
任意の有効なトランスフォーメーション式を入力できます。バイナリ以外の任意のデータ型を渡すことができます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
search1
必須
検索を行う対象の値を渡します。
任意の有効なトランスフォーメーション式を入力できます。value引数と同じデータ型の任意の値を渡すことができます。検索する値と値引数は、必ず一致させる必要があります。値の一部を検索することはできません。また、検索する値では大文字と小文字が区別されます。
例えば、特定のカラムで文字列'Halogen Flashlight'を検索したい場合には、'Halogen'だけでなく'Halogen Flashlight'と入力する必要があります。'Halogen'と入力すると、一致する値が見つかりません。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
result1
必須
検索で一致した値が見つかったときに返す値です。
任意の有効なトランスフォーメーション式を入力して、バイナリ以外の任意のデータ型を渡すことができます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
args
必須
カンマで区切られた検索値と結果値のペア。
例えば、以下の構文を使用します。
util:decode(value, search1, result1, search2, result2, searchn, resultn, default)
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
default
必須
検索で一致した値が見つからなかったときに返す値です。
任意の有効なトランスフォーメーション式を入力して、バイナリ以外の任意のデータ型を渡すことができます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
戻り値 一致した値が見つかった場合は、result1 。
一致した値が見つからなかった場合は、default 値。
一致した値が見つからなかった場合、デフォルト値を指定していなければNULL。
複数の条件に一致した場合でも、decodeは最初に一致した結果を返します。
decodeとデータ型 decodeを使用した場合、戻り値のデータ型は最大の精度を持つ結果のデータ型と常に同じものとなります。
たとえば、次のような式があるとします。
util:decode( CONST_NAME 'Five', 5, 'Pythagoras', 1.414213562, 'Archimedes', 3.141592654, 'Pi', 3.141592654 )
この式の戻り値は、5、1.414213562、および3.141592654です。最初の結果は整数で、その他の結果は小数です。Decimalデータ型は、Integerデータ型よりも精度が高くなります。この式は常に結果を固定小数点値として書き込みます。
文字列戻り値と数値戻り値の両方を持つDECODE関数は作成できません。
例えば、下記の式は有効ではありません。
util:decode( CONST_NAME 'Five', 5, 'Pythagoras', '1.414213562', 'Archimedes', '3.141592654', 'Pi', 3.141592654 )
上記の式を検査すると、下記のエラーメッセージが表示されます。
Function cannot resolve operands of ambiguously mismatching datatypes.
例 次の式は、decodeを使用し、特定のITEM_IDを検索してITEM_NAMEを返します。
util:decode( ITEM_ID, 10, 'Flashlight', 14, 'Regulator', 20, 'Knife', 40, 'Tank', 'NONE' )
次の表に、一部のサンプル値と戻り値を示します。
ITEM_ID
RETURN VALUE
10
Flashlight
14
Regulator
17
NONE
20
Knife
25
NONE
NULL
NONE
40
Tank
検索値がITEM_IDに一致しないため、decodeは項目17および25に対してデフォルト値のNONEを返します。また、NULLのITEM_IDに対してもNONEを返します。
次の式は、複数のカラムおよび条件をテストして、上から順に'TRUE'であるか'FALSE'であるかを求めます。
util:decode( TRUE, Var1 = 22, 'Variable 1 was 22!', Var2 = 49, 'Variable 2 was 49!', Var1 < 23, 'Variable 1 was less than 23.', Var2 > 30, 'Variable 2 was more than 30.', 'Variables were out of desired ranges.')
次の表に、一部のサンプル値と戻り値を示します。
Var1
Var2
RETURN VALUE
21
47
Variable 1 was less than 23.
22
49
Variable 1 was 22!
23
49
Variable 2 was 49!
24
27
Variables were out of desired ranges.
25
50
Variable 2 was more than 30.
getAssetLocation 関数を使用するタスクフローが保存されている場所を返します。
例えば、この関数を使用して、デバッグを目的としてタスクフローの場所を見つけることができます。
構文 util:getAssetLocation()
getAssetLocation関数は引数を使用しません。
戻り値 関数を使用するタスクフローが保存される場所。
例 Default\Orders の下に格納されているタスクフローでgetAssetLocation関数を使用すると、関数は次の値を返します。
Default\Orders
getAssetName 関数を使用するタスクフローの名前を返します。
例えば、通知タスクステップの関数を使用して、ステークホルダーに送信するタスクフローの失敗の電子メール通知にタスクフロー名を含めることができます。
構文 util:getAssetName()
getAssetName関数は引数を使用しません。
戻り値 関数を使用するタスクフローの名前。
例 Order Managementという名前のタスクフローでgetAssetName関数を使用すると、関数は次の値を返します。
Order Management
getDatePart 日付の中の指定した部分を整数値として返します。そのため、日付の月の部分を返す式を作成して「Apr 1 1997 00:00:00」のような日付を渡すと、getDatePartは4を返します。
構文 date:getDatePart(xs:dateTime('date'), 'format')
注: xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/オプション
説明
date
必須
Date/Timeデータ型。
有効なトランスフォーメーション式を必要に応じて入力できます。
format
必須
日付値の中で返す部分を指定するフォーマット文字列。フォーマット文字列は'mm'のように一重引用符で囲みます。フォーマット文字列は大文字と小文字を区別しません。
例えば、日付「Apr 1 1997」をgetDatePartに渡す場合、フォーマット文字列'Y'、'YY'、'YYY'、'YYYY'はすべて1997を返します。
戻り値 日付の中の指定された部分を示す整数。
関数にNULL値を渡した場合はNULLです。
例 以下の式は、DATE_SHIPPEDカラムの各日付の時の部分を返します。デフォルトの日付形式は24時間方式に基づくため、12:00:00AMは0を返します。
date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'HH') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'HH12') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'HH24')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Mar 13 1997 12:00:00AM
0
Sep 2 1997 2:00:01AM
2
Aug 22 1997 12:00:00PM
12
June 3 1997 11:30:44PM
23
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の日の部分を返します。
date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'D') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'DD') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'DDD') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'DY') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'DAY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Mar 13 1997 12:00:00AM
13
June 3 1997 11:30:44PM
3
Aug 22 1997 12:00:00PM
22
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の月の部分を返します。
date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'MM') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'MON') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'MONTH')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Mar 13 1997 12:00:00AM
3
June 3 1997 11:30:44PM
6
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の年の部分を返します。
date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'Y') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'YY') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'YYY') date:getDatePart(xs:dateTime('DATE_SHIPPED'), 'YYYY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Mar 13 1997 12:00:00AM
1997
June 3 1997 11:30:44PM
1997
NULL
NULL
getDefaultFailureEmailNotification Administratorで組織の[失敗の電子メール通知] フィールドに設定されているデフォルトの電子メールアドレスを返します。さらに、通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドでこの機能を使用すると、電子メールアドレスにも通知が送信されます。
構文 util:getDefaultFailureEmailNotification()
getDefaultFailureEmailNotification関数は引数を使用しません。
戻り値 Administratorで組織への失敗の通知用に設定された電子メールアドレス。この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、返された電子メールアドレスに通知が送信されます。
例 タスクフローでgetDefaultFailureEmailNotification関数を使用し、[失敗の電子メール通知] フィールドに値abc@informatica.comが含まれている場合、関数は次の値を返します。
abc@informatica.com
この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、通知はabc@informatica.comにも送信されます。
getDefaultSuccessEmailNotification Administratorで組織の[成功の電子メール通知] フィールドに設定されているデフォルトの電子メールアドレスを返します。さらに、通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドでこの機能を使用すると、電子メールアドレスにも通知が送信されます。
構文 util:getDefaultSuccessEmailNotification()
getDefaultSuccessEmailNotification関数は引数を使用しません。
戻り値 Administratorで組織への成功の通知用に設定された電子メールアドレス。この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、返された電子メールアドレスに通知が送信されます。
例 タスクフローでgetDefaultSuccessEmailNotification関数を使用し、[成功の電子メール通知] フィールドに値abc@informatica.comが含まれている場合、関数は次の値を返します。
abc@informatica.com
この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、通知はabc@informatica.comにも送信されます。
getDefaultWarningEmailNotification Administratorで組織の[警告の電子メール通知] フィールドに設定されているデフォルトの電子メールアドレスを返します。さらに、通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドでこの機能を使用すると、電子メールアドレスにも通知が送信されます。
構文 util:getDefaultWarningEmailNotification()
getDefaultWarningEmailNotification関数は引数を使用しません。
戻り値 Administratorで組織への警告の通知用に設定された電子メールアドレス。この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、返された電子メールアドレスに通知が送信されます。
例 タスクフローでgetDefaultWarningEmailNotification関数を使用し、[警告の電子メール通知] フィールドに値abc@informatica.comが含まれている場合、関数は次の値を返します。
abc@informatica.com
この関数が通知タスクステップの[電子メールの宛先] 、[電子メールのCC] 、または[電子メールのBCC] フィールドで使用されている場合、通知はabc@informatica.comにも送信されます。
getInstanceStartTime 関数を使用するタスクフローの実行中のインスタンスの開始日と開始時刻を返します。
例えば、この関数を使用して、タスクフローの実行がいつ開始されたかを確認し、予想される期間を超えて実行されている場合はタスクフローを強制終了できます。
構文 util:getInstanceStartTime()
getInstanceStartTime関数は引数を使用しません。
戻り値 関数を使用するタスクフローの実行中のインスタンスの開始日と開始時刻。
戻り値は、次のような協定世界時(UTC)形式になります。
YYY-MM-DDTHH:mm:ss.sssZ
例 2021年1月19日に開始されたタスクフローでgetInstanceStartTime関数を使用すると、関数は次の値を返します。
2021-01-19T10:11:21.047Z
getOrganizationName 実行中のインスタンスのコンテキストでInformatica Intelligent Cloud Services 組織名を返します。
構文 util:getOrganizationName()
戻り値 タスクフローがクラウドサーバーにデプロイされている場合、関数はInformatica Intelligent Cloud Services 組織名を出力として返します。
iif 条件の結果に基づいて、指定した2つの値のうちの1つを返します。
構文 util:iif(condition , val1 ,val2 )
次の表に、引数を示します。
引数
必須/オプション
説明
condition
必須
評価を行う条件。
TRUEまたはFALSEになる有効なトランスフォーメーション式を必要に応じて入力できます。
val1
必須
条件がTRUEのときに返す値。戻り値は常にこの引数で指定したデータ型になります。
別のiif式を含む、任意の有効なトランスフォーメーション式を入力できます。バイナリ以外の任意のデータ型を渡すことができます。
val2
オプション
条件がFALSEのときに返す値。
別のiif式を含む、任意の有効なトランスフォーメーション式を入力できます。バイナリ以外の任意のデータ型を渡すことができます。
iif関数にFALSE (val2 )条件は必要ありません。val2 を省略すると、条件がFALSEの場合、関数は次のいずれかの値を返します。
• val1 がNumericデータ型の場合は0。• val1 がStringデータ型の場合は、空の文字列。• val1 がDate/Timeデータ型の場合はNULL。例えば、次の式にはFALSE条件が含まれておらず、val1 はStringデータ型であるため、decodeはFALSEと評価されたそれぞれの行に対して空の文字列を返します。
util:iif(SALES > 100, EMP_NAME)
次の表に、一部のサンプル値と戻り値を示します。
SALES
EMP_NAME
RETURN VALUE
150
John Smith
John Smith
50
Pierre Bleu
'' (empty string)
120
Sally Green
Sally Green
NULL
Greg Jones
'' (empty string)
戻り値 条件がTRUEの場合はval1 。
条件がFALSEの場合はval2 。
例えば、下記の式にはFALSE条件であるNULLが含まれるため、decodeはFALSEと評価されたそれぞれの行に対してNULLを返します。
util:iif(SALES > 100, EMP_NAME, NULL)
次の表に、一部のサンプル値と戻り値を示します。
SALES
EMP_NAME
RETURN VALUE
150
John Smith
John Smith
50
Pierre Bleu
NULL
120
Sally Green
Sally Green
NULL
Greg Jones
NULL
iifおよびデータ型 iifを使用した場合、戻り値のデータ型は最大の精度を持つ結果のデータ型と同じものとなります。
例えば、次のような式があるとします。
util:iif(SALES < 100, 1, .3333)
TRUEの結果(1)は整数であり、FALSEの結果(.3333)は小数です。Decimalデータ型は、Integerデータ型よりも精度が高くなります。したがって、戻り値のデータ型は常に固定小数点値です。
IIFの特殊な使用法 ネストしたIIF文を使用して、複数の条件をテストできます。以下の例は、各種条件をテストし、販売額が0または負の場合には0を返します。
util:iif(SALES > 0, util:iif(SALES < 50, SALARY1, util:iif(SALES < 100, SALARY2, util:iif( SALES < 200, SALARY3, BONUS))), 0 )
in 入力値を値のリストとマッチングします。デフォルトでは、大文字と小文字を区別します。
構文 util:in(valueToSearch, values , caseFlag )
次の表に、引数を示します。
引数
必須/
オプション
説明
valueToSearch
必須
文字列、日付または数値。値のカンマ区切りリストと照合する入力値。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
values
必須
文字列、日付または数値。検索する値のカンマ区切りリスト。値にはカラムを使用できます。指定する値の数に制限はありません。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
caseFlag
オプション
整数でなければなりません。この関数の引数の大文字と小文字を区別するかどうかを指定します。有効なトランスフォーメーション式を必要に応じて入力できます。
caseFlag が0以外の数値の場合、大文字と小文字を区別します。
caseFlag がNULL値または0の場合、大文字と小文字を区別しません。
戻り値 入力値が値リストに一致する場合はTRUE (1)。
入力値が値リストに一致しない場合はFALSE (0)。
NULL値を入力した場合は、NULLです。
例 以下の式は、入力値がsafety Knife、Chisel Point Knife、Medium Titanium Knifeのいずれであるかを決定します。入力値は、必ずしもカンマ区切りリストの値の表記(大文字/小文字)に一致させる必要はありません。
util:in(ITEM_NAME, ‘Chisel Point Knife’, ‘Medium Titanium Knife’, ‘Safety Knife’, 0)
次の表に、一部のサンプル値と戻り値を示します。
ITEM_NAME
RETURN VALUE
Stabilizing Vest
0 (FALSE)
Safety knife
1 (TRUE)
Medium Titanium knife
1 (TRUE)
NULL
instr 文字列の中で、指定した文字が左から数えて何文字目にあるかを返します。
構文 sff:instr(str, search, start, occurrence, comparison_type)
次の表に、引数を示します。
引数
必須/オプション
説明
str
必須
評価を行う値を渡します。
文字列はすべて文字である必要があります。有効なトランスフォーメーション式を必要に応じて入力できます。
式の結果は文字列である必要があります。文字列ではない場合、評価の前にinstrによって値が文字列に変換されます。
search
必須
検索を行う文字または文字列を指定します。
有効なトランスフォーメーション式を必要に応じて入力できます。文字列を検索する場合は、検索する文字を一重引用符または二重引用符で囲みます。
値は、文字列の一部に一致する必要があります。例えば、INSTR('Alfred Pope', 'Alfred Smith') を使用した場合、関数は0を返します。
値は大文字と小文字が区別されます。
start
オプション
文字列内で検索を開始する位置を示します。有効なトランスフォーメーション式を必要に応じて入力できます。値は整数でなければなりません。
デフォルト値は1です。つまり、instrは文字列の最初の文字から検索を開始します。
開始位置がゼロの場合、instrは文字列の最初の文字から検索を開始します。開始位置が正の数である場合、instrは文字列の先頭からその数だけ数えた位置から検索を開始します。開始位置が負の数である場合、instrは文字列の最後からその数だけ数えた位置から検索を開始します。この引数を省略すると、関数はデフォルト値の1を使用します。
occurrence
オプション
有効なトランスフォーメーション式を必要に応じて入力できます。検索値が文字列内に複数回出現する場合、何回目の出現を検索するかを指定できます。たとえば、開始位置から2回目に出現する検索値を検索する場合は、2を入力します。
0より大きい正の整数を入力できます。
この引数を省略すると、関数はデフォルト値の1を使用します。この場合、instrは最初に出現する検索値を検索します。固定小数点値を渡すと、関数はそれを最も近い整数値に丸めます。負の整数または0を渡すと、関数は無効になります。
comparison_type
オプション
言語またはバイナリの文字列比較タイプ。
言語比較では言語固有の照合規則を考慮し、バイナリ比較ではビット単位の比較を行います。例えば、ドイツ語のシャープ文字であるsは、言語比較では文字列"ss"に一致しますが、バイナリ比較では一致しません。バイナリ比較は、言語比較よりも短い時間で実行されます。
次の整数値のいずれかを入力する必要があります。
- 0: INSTRは言語文字列比較を行います。- 1: INSTRはバイナリ文字列比較を行います。デフォルトは0です。
戻り値 検索が成功した場合は、整数。この整数は、search 因数の最初の文字が文字列内で左から数えて何文字目にあるかを示します。
検索に失敗した場合は、0です。
instrにNULL値を渡した場合はNULLになります。
例 次の式は、それぞれの会社名の先頭を基準に、文字‘a’が最初に出現する位置を返します。
sff:instr( COMPANY, 'a' )
次の表に、一部のサンプル値と戻り値を示します。
COMPANY
RETURN VALUE
Blue Fin Aqua Center
13
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
3
VIP Diving Club
0
search 引数では大文字と小文字が区別されるため、‘Blue Fin Aqua Center’の‘A’をスキップして、‘Aqua’の‘a’の位置を返します。
次の式は、それぞれの会社名の先頭を基準に、文字‘a’が2回目に出現する位置を返します。
sff:instr( COMPANY, 'a', 1, 2 )
次の表に、一部のサンプル値と戻り値を示します。
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
8
Scuba Gear
9
Frank's Dive Shop
0
VIP Diving Club
0
search 引数では大文字と小文字が区別されるため、‘Blue Fin Aqua Center’の‘A’をスキップして、0を返します。
次の式は、それぞれの会社名の最後の文字を基準に、文字‘a’が2回目に出現する位置を返します。
sff:instr( COMPANY, 'a', -1, 2 )
次の表に、一部のサンプル値と戻り値を示します。
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
0
VIP Diving Club
0
search 引数では大文字と小文字が区別されるため、‘Blue Fin Aqua Center’の‘A’をスキップして、0を返します。
次の式は、それぞれの会社名の最後の文字を基準に、文字列‘Blue Fin Aqua Center’で最初に出現する文字の位置を返します。
sff:instr( COMPANY, 'Blue Fin Aqua Center', -1, 1 )
次の表に、一部のサンプル値と戻り値を示します。
COMPANY
RETURN VALUE
Blue Fin Aqua Center
1
Maco Shark Shop
0
Scuba Gear
0
Frank's Dive Shop
0
VIP Diving Club
0
isNull 値がNULLであるかどうかを返します。
構文 util:isNull(value)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
値
必須
評価を行う行を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。Binary以外の任意のデータ型の値を渡すことができます。
戻り値 値がNULLの場合は、TRUE(1)。
値がNULLでない場合は、FALSE(0)。
例 次の例は、itemsテーブル内のNULL値を確認します。
util:isNull( ITEM_NAME )
次の表に、一部のサンプル値と戻り値を示します。
ITEM_NAME
RETURN VALUE
Flashlight
0 (FALSE)
NULL
1 (TRUE)
Regulator system
0 (FALSE)
''
0 (FALSE) Empty string is not NULL
lastDay カラム内の各日付に対して、その月の最後の日の日付を返します。
構文 date:lastDay(date)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
date
必須
Date/Timeデータ型。月の最終日を返す日付を渡します。
日付を求める有効なトランスフォーメーション式を必要に応じて入力できます。
戻り値 日付。この関数に渡す日付値の月の最終日。
選択したカラム内の値がNULLである場合は、NULL。
例 次の式は、現在の日付を最終日として返します。
date:lastDay(fn:current-dateTime('DATE'))
次の表に、一部のサンプル値と戻り値を示します。
DATE
RETURN VALUE
18-04-98 01:00
Apr 18 1998 01:00:00 AM
20-08-99 05:00
Aug 20 1999 05:00:00 AM
次の式は、DATEカラム内の各日付に対して、月の最終日を返します。
date:lastDay(date:addToDate(fn:current-dateTime('DATE','MM',-1))
次の表に、一部のサンプル値と戻り値を示します。
DATE
RETURN VALUE
Apr 1 1998 12:00:00AM
Mar 31 1998 12:00:00AM
Jan 6 1998 12:00:00AM
Dec 31 1997 12:00:00AM
Feb 2 1996 12:00:00AM
Jan 31 1996 12:00:00AM
NULL
NULL
toDateをネストして文字列値を日付に変換できます。toDate関数には常に時間情報が含まれています。時刻値を含まない文字列を渡すと、返される日付には時刻「00:00:00」を含みます。
次の例は、各日付に対して、月の最終日を文字列と同じ形式で返します。
date:lastDay(toDate('DATE', 'MON-DD-YYYY'))
次の表に、一部のサンプル値と戻り値を示します。
DATE
RETURN VALUE
'18-NOV-98'
Nov-30-1998 00:00:00
'28-APR-98'
Apr-30-1998 00:00:00
NULL
NULL
'18-FEB-96'
Feb-29-1996 00:00:00(Leap year)
date:lastDay(date:toDate("DATE", "YYYY-MM-DD"))
次の表に、一部のサンプル値と戻り値を示します。
DATE
RETURN VALUE
'18-NOV-98'
1998-Nov-30 00:00:00
'28-APR-98'
1998-Apr-30 00:00:00
NULL
NULL
'18-FEB-96'
1996-Feb-29 00:00:00(Leap year)
lpad 文字列の先頭にいくつかの空白文字を追加して、文字列を指定した長さにします。
構文 sff:lpad(first_string , length , second_string )
次の表に、引数を示します。
引数
必須/
オプション
説明
first_string
必須
文字列。変更を行う文字列を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
length
必須
正の整数リテラルでなければなりません。この引数によって、各文字列に必要な長さを指定します。length が負の数である場合、lpadはNULLを返します。
second_string
オプション
任意の文字列値。first_string 値の左側に追加する文字列。有効なトランスフォーメーション式を必要に応じて入力できます。特定の文字列リテラルを入力できます。ただし、文字列の先頭に追加する文字は、'abc'のように一重引用符で囲みます。この引数は大文字と小文字を区別します。second_string を省略すると、関数によって最初の文字列の先頭に空白文字が追加されます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
戻り値 指定された長さの文字列。
関数にNULL値を渡した場合、あるいはlength が負の数の場合は、NULLです。
例 次の式は、数値の先頭にゼロを付加して、数値を6桁に標準化します。
sff:lpad(PART_NUM, 6, '0')
次の表に、一部のサンプル値と戻り値を示します。
PART_NUM
RETURN VALUE
702
000702
1
000001
0553
000553
484834
484834
lpadは、長さを左から数えます。最初の文字列が指定した長さよりも長い場合は、文字列が右側から切り詰められます。例えば、lpad(‘alphabetical’, 5, ‘x’)は文字列‘alpha’を返します。
2番目の文字列を加えた全文字数が、指定された長さに必要な文字数よりも長い場合は、2番目の文字列の一部分を使用した値が返されます。
sff:lpad(ITEM_NAME, 16, '*..*')
次の表に、一部のサンプル値と戻り値を示します。
ITEM_NAME
RETURN VALUE
Flashlight
*..**.Flashlight
Compass
*..**..**Compass
Regulator System
Regulator System
Safety Knife
*..*Safety Knife
次の式は、length 引数が負の数の場合にITEM_NAMEカラムの各行に対してlpadがどのような処理を行うかを示すものです。
sff:lpad(ITEM_NAME, -5, '.')
次の表に、一部のサンプル値と戻り値を示します。
ITEM_NAME
RETURN VALUE
Flashlight
NULL
Compass
NULL
Regulator System
NULL
ltrim 文字列の先頭から先頭のスペースまたは文字を削除します。
式でtrim_set 引数を指定しない場合、ltrimは文字列の先頭からシングルバイトスペースとダブルバイトスペースを削除します。
ltrimを使用して文字列から文字を削除する場合、ltrimはtrim_set をstr 引数内の各文字と左から1文字ずつ比較します。文字列内の文字がtrim_set 内のいずれかの文字と一致した場合、ltrimはその文字を削除します。ltrim関数は、一致する文字がtrim_set で見つからなくなるまで、文字を比較して削除します。その後、一致する文字が含まれない文字列を返します。
構文 sff:ltrim(str, trim_set)
次の表に、引数を示します。
引数
必須/
オプション
説明
str
必須
任意の文字列値。変更を行う文字列を渡します。任意の有効なトランスフォーメーション式を入力できます。文字列の先頭から文字を削除する前に、演算子を使って文字列の比較や連結を実行します。
文字列値は一重引用符または二重引用符で囲む必要があります。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
trim_set
オプション
任意の文字列値。文字列の先頭からの削除を行う文字を渡します。任意の有効なトランスフォーメーション式を入力できます。また、文字列を入力することもできます。
トリムセット値は一重引用符または二重引用符で囲む必要があります。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
ltrim関数では大文字と小文字が区別されます。たとえば、文字列'Alfredo'から文字'A'を削除したい場合は、必ず'a'ではなく'A'と入力します。
戻り値 文字列。trim_set 引数で指定された文字を削除した結果の文字列値。
ltrimに渡される値がNULLの場合はNULL。trim_set がNULLの場合、ltrimはNULLを返します。
例 次の式は、LAST_NAMEカラムの文字列から文字‘S ’と‘. ’を削除します。
sff:ltrim( LAST_NAME, 'S.')
次の表に、一部のサンプル値と戻り値を示します。
LAST_NAME
RETURN VALUE
Nelson
Nelson
Osborne
Osborne
NULL
NULL
S. MacDonald
MacDonald
Sawyer
awyer
H. Bender
H. Bender
Steadman
teadman
ltrim関数は、S. MacDonaldから‘S.’を削除し、SawyerおよびSteadmanから‘S’を削除しますが、H. Benderからはピリオドを削除しません。これは、ltrimはtrim_set 引数に指定された文字列を1文字ずつ検索していくためです。文字列内の最初の文字がtrim_set 内の最初の文字と一致した場合、ltrimはその文字を削除します。その後、ltrimは文字列内の2番目の文字を確認します。その文字がtrim_set 内の2番目の文字と一致している場合は削除し、3文字目以降も同様に進みます。文字列内の最初の文字がtrim_set の対応する文字と一致しない場合、ltrimはこの文字列を返して、次の行の評価を行います。
H. Benderの例では、Hはtrim_set 引数のどの文字にも一致しないため、ltrimはLAST_NAMEカラム内の文字列を返して、次の行に移ります。
ltrimのヒント 2つの文字列を連結した後に先頭の空白スペースを削除するには、ltrimをCONCATとともに使用します。
ltrimをネストすることで、複数の文字セットを削除することもできます。例えば、名前のカラムから先頭の空白スペースと文字「T」を削除するには、次のような式を作成します。
sff:ltrim( sff:ltrim( NAMES ), 'T' )
round (Numbers) 数値を指定の桁数または小数点以下の桁数に丸めます。また、roundを使用して日付を丸めることもできます。
round関数は次のように動作します。
• 引数に最も近い、端数のない数値を返します。• 引数に近い数値が2つある場合は、正の無限大に最も近い数値が返されます。• 引数のデータ型がxs:float、xs:double、xs:decimal、またはxs:integerの4つの数値データ型のいずれかである場合、結果のデータ型は引数のデータ型と等しくなります。• 引数のデータ型が数値データ型の1つから派生したデータ型である場合、結果は基本数値データ型のインスタンスになります。構文 fn:round(arg)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
arg
必須
数値データ型で指定する必要があります。有効なトランスフォーメーション式を必要に応じて入力できます。値を丸める前に、演算子を使用して算術演算を実行できます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
この関数は、数値の小数部分を切り捨てて、最も近い整数に丸めます。例えば、round(12.99, -)は13を返し、round(15.20, -)は15を返します。
戻り値 数値。
いずれかの引数がNULLの場合、roundはNULLを返します。
Example 1. 例
次の式は、丸められた値を[Price]カラムに返します。
fn:round(PRICE)
次の表に、一部のサンプル値と戻り値を示します。
PRICE
RETURN VALUE
12.99
13.0
-15.99
-16.0
-18.99
-19.0
56.95
57.0
NULL
NULL
精度をより具体的に指定して、数値を最も近い整数に丸めたり、小数部分を切り捨てたりする場合は、round-half-to-even関数を使用することをお勧めします。
fn:round-half-to-even(arg, precision)
正の精度を入力すると、関数は数値の小数点以下の桁数をこの値に丸めます。例えば、round(12.99, 1)は13.0を返し、round(15.44, 1)は15.4を返します。
負の精度を入力すると、関数は小数点の左側をこの桁数だけ丸めて、整数を返します。例えば、round(12.99, -1)は10を返し、round(15.99, -1)は20を返します。
返される値は、引数に最も近い値、つまり、負の精度の10の倍数である引数に数値的に最も近い値です。このような2つの値が非常に近い場合(例えば、引数の小数の部分がどちらも.500...である場合など)、関数は最下位桁が偶数である最も小さい値を返します。
例 次の式は、Priceカラムの値を小数点以下3桁に丸めた値を返します。
fn:round-half-to-even(PRICE, 3)
次の表に、一部のサンプル値と戻り値を示します。
PRICE
RETURN VALUE
12.9936
12.994
15.9949
15.995
-18.8678
-18.868
56.9561
56.956
NULL
NULL
精度の引数に負の整数を渡すことにより、小数点の左側を指定桁数に丸めることもできます。
fn:round-half-to-even(PRICE, -2)
次の表に、一部のサンプル値と戻り値を示します。
PRICE
RETURN VALUE
13242.99
13200.0
1435.99
1400.0
-108.95
-100.0
NULL
NULL
精度の引数を省略すると、関数は数値を最も近い整数に丸めます。
fn:round-half-to-even(PRICE, 0)
次の表に、一部のサンプル値と戻り値を示します。
PRICE
RETURN VALUE
12.99
13.0
-15.99
-16.0
-18.99
-19.0
56.95
57.0
NULL
NULL
rtrim 文字列の末尾から空白文字または文字を削除します。
式でtrim_set パラメータを指定しない場合、rtrimは文字列の末尾からシングルバイトスペースとダブルバイトスペースを削除します。
rtrimを使って文字列から文字を削除する場合、rtrimはtrim_set をstring 引数内の各文字と右から1文字ずつ比較します。文字列内の文字がtrim_set 内のいずれかの文字と一致した場合、rtrimはその文字を削除します。rtrimは、一致する文字がtrim_set で見つからなくなるまで、文字を比較して削除します。一致する文字を含まない文字列を返します。
構文 sff:rtrim(str, trim_set)
次の表に、引数を示します。
引数
必須/
オプション
説明
string
必須
任意の文字列値。切り詰めを行う値を渡します。任意の有効なトランスフォーメーション式を入力できます。文字列の末尾から空白文字を削除する前に、演算子を使って文字列の比較や連結を実行します。
文字列値は一重引用符または二重引用符で囲む必要があります。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
trim_set
オプション
任意の文字列値。文字列の末尾から削除を行う文字を渡します。文字列リテラルを入力することもできます。
文字列値は一重引用符または二重引用符で囲む必要があります。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
rtrim関数では大文字と小文字が区別されます。例えば、文字列'Alfredo'から'o'という文字を削除する場合は、'O'ではなく'o'と入力します。
戻り値 文字列。trim_set 引数で指定された文字を削除した結果の文字列値。
rtrimに渡される値がNULLの場合はNULL。trim_set がNULLの場合、rtrimはNULLを返します。
例 次の式は、LAST_NAMEカラムの文字列から文字‘re’を削除します。
sff:rtrim( LAST_NAME, 're')
次の表に、一部のサンプル値と戻り値を示します。
LAST_NAME
RETURN VALUE
Nelson
Nelson
Page
Pag
Osborne
Osborn
NULL
NULL
Sawyer
Sawy
H. Bender
H. Bend
Steadman
Steadman
trim_set の最初の文字は‘r’ですが、rtrim関数はPageから‘e’を削除します。これは、rtrimはtrim_set 引数に指定された文字列を1文字ずつ検索していくためです。文字列内の最後の文字がtrim_set 内の最初の文字と一致した場合、rtrimはその文字を削除します。ただし、文字列内の最後の文字が一致しない場合、rtrimはtrim_set 内の2番目の文字と比較します。文字列内の最後から2番目の文字がtrim_set の2番目の文字と一致した場合、rtrimはその文字を削除します。文字列内の文字がtrim_set と一致しなかった場合、rtrimはその文字列を返して、次の行の評価を行います。
最後の例では、Nelsonの最後の文字がtrim_set 引数のどの文字にも一致しないため、rtrimは'Nelson'を返して次の行を評価します。
rtrimのヒント 2つの文字列を連結した後に末尾の空白文字を削除するには、rtrimをCONCATとともに使用します。
また、rtrimをネストして複数の文字列を削除することもできます。例えば、名前のカラム内にあるそれぞれの文字列の末尾から末尾の空白と文字‘t’を削除する場合は、次のような式を作成します。
sff:trim( sff:rtrim( NAMES ), 't' )
toChar (Numbers) 数値をテキスト文字列に変換します。
構文 sff:toChar(xs:double(val))
注: 関数を追加した後に、構文にフレーズ(xs:double)を手動で追加する必要があります。フレーズを追加しない場合、タスクフローは失敗します。
次の表に、引数を示します。
引数
必須/オプション
説明
val
必須
文字列への変換を行う数値。有効なトランスフォーメーション式を必要に応じて入力できます。
toCharは、次のように倍精度浮動小数点数をテキスト文字列に変換します。
• 16桁までの倍精度浮動小数点数値を文字列に変換し、15桁までの精度を提供します。15桁を超える数値を渡すと、toCharは数値を16桁に基づいて丸め、数値の文字列表現を科学的表記で返します。例えば、1234567890123456倍精度浮動小数点数値は、'1.23456789012346e+015'文字列値に変換されます。• (-1e16,-1e-16]および[1e-16, 1e16)の範囲の数値は、10進表記で返します。toCharは、この範囲以外の数値を科学的表記で返します。例えば、10842764968208837340倍精度浮動小数点数値は、'1.08427649682088e+019'文字列値に変換されます。toCharは、次のように10進数値をテキスト文字列に変換します。
戻り値 文字列。
関数にNULL値を渡した場合はNULLです。
倍精度浮動小数点数の変換例 次の式は、SALESポート内の倍精度浮動小数点数値を文字列に変換します。
sff:toChar(xs:double(SALES))
SALES
RETURN VALUE
1010.99
'1010.99'
-15.62567
'-15.62567'
10842764968208837340
'1.08427649682088e+019' (rounded based on the 16th digit and returns the value in scientific notation)
236789034569723
'236789034569723'
0
'0'
33.15
'33.15'
NULL
NULL
10進数値の変換例 次の式は、SALESポート内の10進数値を、高精度モードで文字列に変換します。
sff:toChar(xs:double(SALES))
次の表に、精度が38より大きい場合のサンプル値と戻り値を示します。
SALES
RETURN VALUE
2378964536789761
'2378964536789761'
1234567890123456789012345679
'1234567890123456789012345679'
1.234578945469649345876123456
'1.234578945469649345876123456'
0.999999999999999999999999999
'0.999999999999999999999999999'
12345678901234567890123456799
'12345678901234567890123456799'
23456788992233456678458934567123465239
'23456788992233456678458934567123465239'
423456789012345678901234567991234567899
(38より大きい)
'4.23456789012346e+038'
次の表に、精度が28より大きい場合のサンプル値と戻り値を示します。
SALES
RETURN VALUE
2378964536789761
'2378964536789761'
1234567890123456789012345679
'1234567890123456789012345679'
1.234578945469649345876123456
'1.234578945469649345876123456'
0.999999999999999999999999999
'0.999999999999999999999999999'
12345678901234567890123456799
(28より大きい)
'1.23456789012346e+028'
toChar(日付)関数により、Date/Timeデータ型を、指定した形式の文字列に変換します。日付の全体、または日付の一部を文字列に変換することができます。
注: 二重引用符は、D"D""DDDのように、形式があいまいな文字列を区切るために使用します。空の二重引用符は出力には表示されません。
toDate 文字列をDate/Timeデータ型に変換します。ソース文字列の形式を指定するには、toDateフォーマット文字列を使用します。
toDate式の出力ポートはDate/Timeである必要があります。
toDateで2桁の年を変換する場合には、RRまたはYYのフォーマット文字列を使用します。YYYYフォーマット文字列を使用してはなりません。
構文 date:toDate(xs:dateTime('date'), 'format')
注: xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/
オプション
説明
日付
必須
Stringデータ型で指定する必要があります。日付に変換したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
format
必須
有効なtoDate形式の文字列を入力します。フォーマット文字列は、dare 引数の各部分と一致している必要があります。例えば、'Mar 15 1998 12:43:10AM'という日付の文字列を渡す場合は、フォーマット文字列'MON DD YYYY HH12:MI:SSAM'を使用する必要があります。
戻り値 日付。
toDate関数は、常に日付と時刻を返します。時刻値を持たない文字列を渡すと、返される日付には常に時刻00:00:00.000000000が含まれます。この関数の結果は、日時データ型の任意のターゲットカラムにマッピングできます。
関数にNULL値を渡した場合はNULLになります。
例 date:toDate(xs:dateTime('DATE_PROMISED'), 'MM/DD/YY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
RETURN VALUE
'01/22/98'
Jan 22 1998 00:00:00
'05/03/98'
May 3 1998 00:00:00
'11/10/98'
Nov 10 1998 00:00:00
'10/19/98'
Oct 19 1998 00:00:00
NULL
NULL
date:toDate(xs:dateTime('DATE_PROMISED'), 'MON DD YYYY HH12:MI:SSAM')
次の表に、一部のサンプル値と戻り値を示します。
DATE_PROMISED
RETURN VALUE
'Jan 22 1998 02:14:56PM'
Jan 22 1998 02:14:56PM
'Mar 15 1998 11:11:11AM'
Mar 15 1998 11:11:11AM
'Jun 18 1998 10:10:10PM'
Jun 18 1998 10:10:10PM
'October 19 1998'
Error. Integration Service skips this row.
NULL
NULL
以下の式は、SHIP_DATE_MJD_STRINGポートの文字列を日付値に変換します。
date:toDate(xs:dateTime('SHIP_DATE_MJD_STR'), 'J')
次の表に、一部のサンプル値と戻り値を示します。
SHIP_DATE_MJD_STR
RETURN_VALUE
'2451544'
Dec 31 1999 00:00:00.000000000
'2415021'
Jan 1 1900 00:00:00.000000000
Jフォーマット文字列には日付の時間部分が含まれないため、戻り値では時間が00.000000000:00:00に設定されています。
次の式は、文字列を4桁形式の年に変換します。現在の年は1998です。
date:toDate(xs:dateTime('DATE_STR'), 'MM/DD/RR')
次の表に、一部のサンプル値と戻り値を示します。
DATE_STR
RETURN VALUE
'04/01/98'
04/01/1998 00:00:00.000000000
'08/17/05'
08/17/2005 00:00:00.000000000
次の式は、文字列を4桁形式の年に変換します。現在の年は1998です。
date:toDate(xs:dateTime('DATE_STR'), 'MM/DD/YY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_STR
RETURN VALUE
'04/01/98'
04/01/1998 00:00:00.000000000
'08/17/05'
08/17/1905 00:00:00.000000000
次の式は、文字列を4桁形式の年に変換します。現在の年は1998です。
date:toDate(xs:dateTime('DATE_STR'), 'MM/DD/Y')
次の表に、一部のサンプル値と戻り値を示します。
DATE_STR
RETURN VALUE
'04/01/8'
04/01/1998 00:00:00.000000000
'08/17/5'
08/17/1995 00:00:00.000000000
次の式は、文字列を4桁形式の年に変換します。現在の年は1998です。
date:toDate(xs:dateTime('DATE_STR'), 'MM/DD/YYY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_STR
RETURN VALUE
'04/01/998'
04/01/1998 00:00:00.000000000
'08/17/995'
08/17/1995 00:00:00.000000000
次の式は、深夜からの通算秒を含む文字を日付値に変換します。
date:toDate(xs:dateTime('DATE_STR'), 'MM/DD/YYYY SSSSS')
次の表に、一部のサンプル値と戻り値を示します。
DATE_STR
RETURN_VALUE
'12/31/1999 3783'
12/31/1999 01:02:03
'09/15/1996 86399'
09/15/1996 23:59:59
toDecimal 文字列または数値を10進数値に変換します。toDecimal関数では、先頭のスペースが無視されます。
構文 util:toDecimal(value , scale )
次の表に、引数を示します。
引数
必須/
オプション
説明
値
必須
StringまたはNumericデータ型で指定する必要があります。10進数に変換する値を渡します。
有効なトランスフォーメーション式を必要に応じて入力できます。
スケール
オプション
0から28までの整数リテラル。小数点以下の桁数を指定します。この引数を省略すると、関数は入力値と同じ位取りの値を返します。
この引数は、詳細モードで必要です。
戻り値 0から28までの精度と位取りを持つ10進値。
選択したカラムの値が空の文字列または数値以外の文字であった場合は、ゼロ。
関数にNULL値を渡した場合はNULLです。
例 次の式は、カラムIN_TAXからの値を使用します。データ型はDecimalで、精度は10、スケールは3です。
util:toDecimal(IN_TAX, 3)
次の表に、一部のサンプル値と戻り値を示します。
IN_TAX
RETURN VALUE
'15.6789'
15.679
'60.2'
60.200
'118.348'
118.348
NULL
NULL
'A12.3Grove'
0
次の式は、[Sales]カラムからの値を使用します。データ型はDecimalで、精度は10、スケールは2です。
util:toDecimal(Sales, 2)
次の表に、一部のサンプル値と戻り値を示します。
Sales
RETURN VALUE
'1234'
1234
'1234.01'
1234.01
1234.00形式の戻り値が必要な場合は、次の式を使用します。
format-number(util:toDecimal('1234', 2), '0.00')
10進数のオーバーフロー 小数点の左側の数値のサイズが精度を超えた場合は、10進数の演算がオーバーフローします。
この問題を解決するには、式ポートのスケールや精度を変更し、マッピングのダウンストリームポートを接続して、式の入力データのサイズに合わせた設定を使用します。
以下に例を示します。
数値フィールドのスケールが15に定義され、サイズが28に定義されている場合、このフィールドは小数点の左側に13個、右側に15個の数値を受け入れます。したがって、次の数値は28,15という数値に対して有効になります。
1234567890123.11143
13575.123451234567891
ただし、次の数値は10進数のオーバーフローエラーを引き起こします。
111112222233333.4444
123.1111122222333334
toInteger 文字列または数値を整数に変換します。toInteger構文にはオプションの引数があり、数字を近似値の整数に丸めるか、小数点以下を切り詰めるかを選択できます。toInteger関数は、先頭のスペースを無視します。
構文 util:toInteger(value , flag )
次の表に、引数を示します。
引数
必須/
オプション
説明
value
必須
StringまたはNumericデータ型で指定する必要があります。整数に変換する値を渡します。
有効なトランスフォーメーション式を必要に応じて入力できます。
flag
オプション
小数点以下を切り捨てるか丸めるかを指定します。フラグは整数リテラルか、TRUEまたはFALSEの定数でなければなりません。
- toIntegerは、フラグがTRUEまたは0以外の数字の場合に小数点以下を切り捨てます。- フラグがFALSEまたは0の場合、あるいはこの引数が省略された場合、toIntegerは値を近似値の整数に丸めます。
戻り値 整数。
関数にNULL値を渡した場合はNULLです。
関数に渡された値に英数字が含まれている場合は0です。
例 次の式は、カラムIN_TAXからの値を使用します。
util:toInteger(IN_TAX, fn:boolean(1))
次の表に、一部のサンプル値と戻り値を示します。
IN_TAX
RETURN VALUE
'15.6789'
15
'60.2'
60
'118.348'
118
NULL
NULL
'A12.3Grove'
0
' 123.87'
123
'-15.6789'
-15
'-15.23'
-15
trunc (Numbers) 精度で指定された小数点以下の桁数に基づいて、数値を特定の桁に切り詰めます。
構文 Util:trunc(arg , precision )
引数
必須/
オプション
説明
arg
必須
数値データタイプ。切り詰めを行う引数を渡します。数値データ型と評価される有効な式を入力します。
precision
オプション
正または負の整数です。整数を求める有効な式を必要に応じて入力できます。この整数は、切り詰め後の桁数を指定します。
precision が正の整数である場合、truncはprecision で指定された小数点以下の桁数を含むarg を返します。precision が負の整数である場合、truncは小数点の左側の指定された桁数をゼロに変更します。precision 引数を省略すると、truncはarg の小数部分を切り詰めて、整数を返します。
引数の小数点以下の末尾のゼロはすべて切り詰められます。例えば、次の式は結果として2345.7535を返します。
util:trunc(2345.75350000, 6)
小数点以下が16桁を超える数値が含まれている場合、XQueryの制限により、結果は指数値を返します。
例えば、次の式は結果として1.234567812345679E7を返します。
util:trunc(12345678.12345678901234567890, 15)
10進数のprecision 値を渡すと、arg を近似値の整数に四捨五入してから、式が評価されます。
戻り値 関数で指定されたパラメータに基づく数値または整数値。
例 以下の式は、PRICEカラム内の値の切り詰めを行います。
Util:trunc(PRICE, 3)
PRICE
RETURN VALUE
12.9995
12.999
-18.8652
-18.865
56.9563
56.956
15.9928
15.992
Util:trunc(PRICE, -1)
PRICE
RETURN VALUE
12.99
10
-187.86
-180
56.95
50
1235.99
1230
Util:trunc(PRICE )
PRICE
RETURN VALUE
12.99
12
-18.99
-18
56.95
56
15.99
15
trunc(Dates) 日付を特定の年、月、日、時、分、秒、またはミリ秒に切り詰めます。また、truncを使って数値を切り詰めることもできます。
日付の中の以下の部分を切り詰めることができます。
• 年。 日付の年の部分を切り詰めると、関数は入力された年の1月1日を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では1/1/1997 00:00:00.000000000を返します。date:trunc(xs:dateTime('12/1/1997 3:10:15'), 'YY')
• 月。 日付の月の部分を切り詰めると、関数は月の最初の日を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では4/1/1997 00:00:00.000000000を返します。date:trunc(xs:dateTime('4/15/1997 12:15:00'), 'MM')
• 日。 日付の日の部分を切り詰めると、関数はその日付を返し、時刻を00:00:00.000000000に設定します。例えば、次の式では6/13/1997 00:00:00.000000000を返します。date:trunc(xs:dateTime('6/13/1997 2:30:45'), 'DD')
• 時間。 日付の時の部分を切り詰めると、この関数は日付の分と秒をゼロに設定して返します。たとえば、次の式では4/1/1997 11:00:00.000000000を返します。date:trunc(xs:dateTime('4/1/1997 11:29:35'), 'HH')
• 分。 日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:00.000000000を返します。date:trunc(xs:dateTime('5/22/1997 10:15:29'), 'MI')
• 秒。 日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:29.000000000を返します。date:trunc(xs:dateTime('5/22/1997 10:15:29.135'), 'SS')
• ミリ秒。 日付の分の部分を切り詰めると、この関数は日付の秒をゼロに設定して返します。たとえば、次の式では5/22/1997 10:15:30.135000000を返します。date:trunc(xs:dateTime('5/22/1997 10:15:30.135235'), 'MS')
構文 date:trunc(xs:dateTime('date'), 'format')
注: xs:dateTime句を手動で追加し、日付値を一重引用符で囲む必要があります。
次の表に、引数を示します。
引数
必須/
オプション
説明
日付
必須
Date/Timeデータ型。切り詰めを行う日付値です。日付を求める任意の有効なトランスフォーメーション式を入力できます。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
format
必須
正しいフォーマット文字列を入力します。フォーマット文字列は大文字と小文字を区別しません。
NULL値を渡すには、次の形式で空のシーケンスを指定する必要があります: ()
戻り値 日付。
関数にNULL値を渡した場合はNULLです。
例 以下の式は、DATE_SHIPPEDカラムの日付の年の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'Y') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YYY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'YYYY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Jan 1 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jan 1 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Jan 1 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の月の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'MM') date:trunc(xs:dateTime('DATE_SHIPPED'), 'MON') date:trunc(xs:dateTime('DATE_SHIPPED'), 'MONTH')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 1 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 1 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 1 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の日の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'D') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DD') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DDD') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DY') date:trunc(xs:dateTime('DATE_SHIPPED'), 'DAY')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 00:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 00:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 00:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 00:00:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 00:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の時の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH') date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH12') date:trunc(xs:dateTime('DATE_SHIPPED'), 'HH24')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:31AM
Jan 15 1998 02:00:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 13:00:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 03:00:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 15:00:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 23:00:00.000000000
NULL
NULL
以下の式は、DATE_SHIPPEDカラムの各日付の分の部分を切り詰めます。
date:trunc(xs:dateTime('DATE_SHIPPED'), 'MI')
次の表に、一部のサンプル値と戻り値を示します。
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 02:10:00.000000000
Apr 19 1998 1:31:20PM
Apr 19 1998 13:31:00.000000000
Jun 20 1998 3:50:04AM
Jun 20 1998 03:50:00.000000000
Dec 20 1998 3:29:55PM
Dec 20 1998 15:29:00.000000000
Dec 31 1998 11:59:59PM
Dec 31 1998 23:59:00.000000000
NULL
NULL