15.00 - DayNumber_Of_Calendar - Teradata Database

Teradata Database SQL Functions, Operators, Expressions, and Predicates

Product
Teradata Database
Release Number
15.00
Content Type
Programming Reference
Publication ID
B035-1145-015K
Language
English (United States)

DayNumber_Of_Calendar

Purpose  

Returns the number of days from the beginning of the business calendar to the specified date.

Syntax  

Syntax Elements

calendar_name

A calendar name. The possible values are Teradata, ISO, and COMPATIBLE.

This argument must be a character literal and cannot be a table column or expression. If you do not name a calendar, Teradata uses the calendar for the session.

expression

An expression that results in a DATE, TIMESTAMP, or TIMESTAMP WITH TIME ZONE value.

NULL

The business calendar for the session.

TD_SYSFNLIB

Name of the database where the function is located.

ANSI Compliance

This is a Teradata extension to the ANSI SQL:2011 standard.

Argument Types

The first argument, expression, is defined with the following data types:

  • DATE
  • TIMESTAMP
  • TIMESTAMP WITH TIME ZONE
  • The second argument, calendar_name, is optional and is defined with the following argument data types:

  • VARCHAR
  • NULL
  • If the argument passed to the function does not match one of these declared data types, an error is returned indicating that the function does not exist.

    Result

    The result is an INTEGER value representing the number of days since and including the beginning of the business calendar.

    Usage Notes

    The DayNumber_Of_Calendar function provides improved performance compared to using the Sys_Calendar.Calendar system view to obtain similar results.

    For more information about the CALENDAR system view, see Data Dictionary.

    Example  

    If the current date is January 05, 1901, the following queries return 370 since January 05, 1901, is the 370th day since January 1, 1900:

       SELECT TD_SYSFNLIB.DAYNUMBER_OF_CALENDAR(CURRENT_DATE);
     
       SELECT TD_SYSFNLIB.DAYNUMBER_OF_CALENDAR(DATE '1901-01-05');