Returns the integer value of the specified part of a date expression


datepart(date_part {date | time | datetime | bigtime | bigdatetime}))




  • Returns the specified datepart in the first argument of the specified date, and the second argument, as an integer. Takes a date, time, datetime, bigdatetime, bigtime, or smalldatetime value as its second argument. If the datepart is hour, minute, second, millisecond, or microsecond, the result is 0.

  • datepart returns a number that follows ISO standard 8601, which defines the first day of the week and the first week of the year. Depending on whether the datepart function includes a value for calweekofyear, calyearofweek, or caldayorweek, the date returned may be different for the same unit of time. For example, if the SAP ASE server is configured to use U.S. English as the default language, the following returns 1988:
    datepart(cyr, "1/1/1989")
    However, the following returns 1989:
    datepart(yy, "1/1/1989)

    This disparity occurs because the ISO standard defines the first week of the year as the first week that includes a Thursday and begins with Monday.

    For servers using U.S. English as their default language, the first day of the week is Sunday, and the first week of the year is the week that contains January 4th.

  • The date part weekday or dw returns the corresponding number when used with datepart. The numbers that correspond to the names of weekdays depend on the datefirst setting. Some language defaults (including us_english) produce Sunday=1, Monday=2, and so on; others produce Monday=1, Tuesday=2, and so on.You can change the default behavior on a per-session basis with set datefirst. See the datefirst option of the set command for more information.

  • calweekofyear, which can be abbreviated as cwk, returns the ordinal position of the week within the year. calyearofweek, which can be abbreviated as cyr, returns the year in which the week begins. caldayofweek, which can abbreviated as cdw, returns the ordinal position of the day within the week. You cannot use calweekofyear, calyearofweek, and caldayofweek as date parts for dateadd, datediff, and datename.

  • Since datetime and time are only accurate to 1/300th of a second, when these datatypes are used with datepart, milliseconds are rounded to the nearest 1/300th second.

  • Since smalldatetime is accurate only to the minute, when a smalldatetime value is used with datepart, seconds and milliseconds are always 0.

  • The values of the weekday date part are affected by the language setting.

See also select, where clause in Reference Manual: Commands.


ANSI SQL – Compliance level: Transact-SQL extension.


Any user can execute datepart.

Related concepts
Date and Time Datatypes
Related reference