CALENDAR_SINCE
目的
CALENDAR_SINCEファンクションは、dtexprとSYSDATEの間の相対的な間隔を決定します。次のルールを使用して、適切な範囲の間隔を使用して、判読可能なテキストの間隔を報告します:
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書式であり、デフォルトです。ただし、fmtがSHORTの場合は、短い書式が使用されます。たとえば、"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 |
