Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

DAYNAME (SQL)

日付式に対して曜日を返す日付関数です。

Synopsis

{fn DAYNAME(date-expression)}

引数

引数 説明
date-expression InterSystems IRIS 日付整数、ODBC 日付、またはタイムスタンプとして評価される式。この式は、列の名前、他のスカラ関数の結果、または日付やタイムスタンプのリテラルとすることができます。

概要

DAYNAME は、指定された日付に該当する曜日名を返します。返り値は最長 15 文字の文字列です。既定として返される曜日名は、Sunday、Monday、Tuesday、Wednesday、Thursday、Friday、Saturday です。

これらの既定曜日名の値を変更するには、WEEKDAY_NAME オプションで SET OPTION コマンドを使用します。

曜日名は、InterSystems IRIS 日付整数、$HOROLOG 値や $ZTIMESTAMP 値、ODBC 形式の日付文字列、またはタイムスタンプに基づいて計算されます。

date-expression タイムスタンプには、データ型 %Library.PosixTimeOpens in a new tab (エンコードされた 64 ビットの符号付き整数) またはデータ型 %Library.TimeStampOpens in a new tab (yyyy-mm-dd hh:mm:ss.fff) のいずれかを指定できます。

タイムスタンプの時刻部分は評価されないので省略可能です。

DAYNAME は、指定された日付が有効であることをチェックします。年は 0001 ~ 9999、月は 01 ~ 12、日はその月に適切な数字 (例えば、02/29 はうるう年のみ有効) である必要があります。日付が無効の場合、DAYNAME は SQLCODE -400 エラー (深刻なエラーが発生しました) を発行します。

DATENAME 関数を使用して、同じ曜日情報を取得することもできます。TO_DATE を使用すると、その他の日付要素で曜日名または曜日の省略形を検索できます。曜日名に対応する整数を返すには、DAYOFWEEKDATEPART、または TO_DATE を使用します。

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

$SYSTEM.SQL.Functions.DAYNAME(date-expression)

以下の 2 つの例は、指定された日付 (2018 年 2 月 21 日) の曜日が水曜日なので、Wednesday という文字列を返します。最初の例はタイムスタンプ文字列を取ります。

SELECT {fn DAYNAME('2018-02-21 12:35:46')} AS Weekday

2 番目の例は InterSystems IRIS 日付整数を取ります。

SELECT {fn DAYNAME(64700)} AS Weekday

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

SELECT {fn DAYNAME({fn NOW()})} AS Wd_Now,
       {fn DAYNAME(CURRENT_DATE)} AS Wd_CurrDate,
       {fn DAYNAME(CURRENT_TIMESTAMP)} AS Wd_CurrTstamp,
       {fn DAYNAME($ZTIMESTAMP)} AS Wd_ZTstamp,
       {fn DAYNAME($HOROLOG)} AS Wd_Horolog

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

以下の埋め込み SQL の例は、DAYNAME が無効な日付 (2017 年はうるう年ではない) をどのように処理するかを示しています。

   SET testdate="2017-02-29"
   &sql(SELECT {fn DAYNAME(:testdate)}
   INTO :a)
   IF SQLCODE'=0 {
     WRITE !,"Error code ",SQLCODE }
   ELSE {
     WRITE !,"returns: ",a }
   QUIT

関連項目

FeedbackOpens in a new tab