CALENDAR_SINCE

目的

CALENDAR_SINCEファンクションは、dtexprSYSDATEの間の相対的な間隔を決定します。次のルールを使用して、適切な範囲の間隔を使用して、判読可能なテキストの間隔を報告します:

2分未満の場合、秒。

120分未満の場合、分。

2日未満の場合、時間。

14日未満の場合、日。

60日未満の場合は、週。

365日未満の場合、月。

それ以外の場合、年。

dtexpr < SYSDATEの場合、テキストは"X periods ago"として報告されます(例: 2日前、4か月前など)。

dtexpr > SYSDATEの場合、テキストは"In X periods"として報告されます(つまり、現在から3日後、現在から5か月後など)。

dtexpr = SYSDATEの場合、戻されるテキストは"Now"です。テキストは、NLS_LANGUAGEに基づいて適切に翻訳されます。

年を除くすべての期間の場合、レポートされる間隔は整数に切り捨てられます(つまり、2.8週は2週としてレポートされます)。年の場合、小数点以下第1位で切り捨てられます(つまり、1.89年は1.8年として報告され、1.0年は小数点以下を省略します)。

fmtパラメータは、LONGまたはSHORT (大/小文字の区別なし)のいずれかで、出力テキストの書式を表すテキスト値です。前述の形式はLONG書式であり、デフォルトです。ただし、fmtSHORTの場合は、短い書式が使用されます。たとえば、"2日前"は"2d"になり、"3日後"は"in 3d"になります。英語の短縮された期間名は次のとおりです。

表7-3 英語の短縮された期間名

LONG SHORT
Now Now
seconds s
minutes m
hours h
days d
weeks w
months mo
years y