15.00 - WeekNumber_Of_Month - 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)

WeekNumber_Of_Month

Purpose  

Returns the number of weeks from the beginning of the month 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 between 1 and 5, representing the nth occurrence of the week in the month. The value 0 means the partial week, Week0.

    Usage Notes

    The WeekNumber_Of_Month 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 5, 1901, the following query returns 0 because January 5, 1901, is in week 0 of January in the Teradata calendar:

    SELECT TD_SYSFNLIB.WEEKNUMBER_OF_MONTH (CURRENT_DATE);

    The following query returns 1 because January 5, 1901, is in week 1 of January in the ISO calendar:

    SELECT TD_SYSFNLIB.WEEKNUMBER_OF_MONTH (DATE ‘1901-01-05’, ‘ISO’);