Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

DAYOFYEAR

日付式に対して年における日付を整数として返す日付関数です。

Synopsis

{fn DAYOFYEAR(date-expression)}

引数

date-expression 列の名前、他のスカラ関数の結果、または日付やタイムスタンプのリテラルによる、日付式。

概要

DAYOFYEAR は、指定された日付式の日付がその年の日付に対応する 1 から 366 までの整数を返します。DAYOFYEAR はうるう年の日付にも対応します。

年における日付は、Caché 日付整数、$HOROLOG 値や $ZTIMESTAMP 値、ODBC 形式の日付文字列、またはタイムスタンプに基づいて計算されます。

date-expression タイムスタンプはデータ型 %Library.TimeStampOpens in a new tab (yyyy-mm-dd hh:mm:ss.fff) です。

タイムスタンプの時刻部分は評価されないので省略可能です。date-expression は、%Library.FilemanDate、%Library.FilemanTimestamp、%MV.Date のいずれかのデータ型として指定することもできます。

$HOROLOG 値の月の日付を計算するときは、DAYOFYEAR では、うるう年の違いが計算されます (2000 年はうるう年で 1900 年と 2100 年はうるう年ではないという、1 世紀の日付調整など)。

DAYOFYEAR では、1840 年 12 月 31 日 よりも前の date-expression 値を負の整数として処理できます。詳細は、以下の例を参照してください。

SELECT {fn DAYOFYEAR(-306)} AS LastDayFeb,  /* February 29, 1840 */
       {fn DAYOFYEAR(-305)} AS FirstDayMar  /* March 1, 1840     */

DATEPART または DATENAME 関数を使用して、同じ日付カウントを取得することもできます。DATEPART および DATENAME では、日付式に対して値と範囲のチェックが行われます。

この関数は、ObjectScript から DAYOFYEAR()Opens in a new tab メソッド呼び出しを使用して呼び出すこともできます。

$SYSTEM.SQL.DAYOFYEAR(date-expression)

以下の例は、日付式の日 (2004 年 3 月 4 日) がその年の 64 番目の日であるため、ともに整数 64 を返します (うるう年の日付であることが自動的に計算されます)。

SELECT {fn DAYOFYEAR('2004-03-04 12:45:37')} AS DayCount
SELECT {fn DAYOFYEAR(59598)} AS DayCount

以下の例はすべて、今日の日付を示す値を返します。

SELECT {fn DAYOFYEAR({fn NOW()})} AS DNumNow,
       {fn DAYOFYEAR(CURRENT_DATE)} AS DNumCurrD,
       {fn DAYOFYEAR(CURRENT_TIMESTAMP)} AS DNumCurrTS,
       {fn DAYOFYEAR($HOROLOG)} AS DNumHorolog,
       {fn DAYOFYEAR($ZTIMESTAMP)} AS DNumZTS

$ZTIMESTAMP は協定世界時 (UTC) を返すことに注意してください。その他の time-expression 値はローカル時刻を返します。これは、DAYOFYEAR 値に影響することがあります。

以下の例では、サブクエリを使用して、誕生日の年間通算日順で並べ替えて Employee レコードが返されるようにします。

SELECT Name,DOB
FROM (SELECT Name,DOB,{fn DAYOFYEAR(DOB)} AS BDay FROM Sample.Employee)
ORDER BY BDay

関連項目

FeedbackOpens in a new tab