| Both sides previous revision Previous revision Next revision | Previous revision |
| dates [2018/05/13 14:46] – [SQL Server] david | dates [2025/03/27 15:42] (current) – external edit 127.0.0.1 |
|---|
| |
| ====== SQL Server ====== | ====== SQL Server ====== |
| | Pages here: |
| | * [[Creating Date Ranges]] |
| | Other links: |
| * [[http://david-halliday.co.uk/wiki/doku.php?id=databases:sql_server:date_formatting|Date Formatting]] | * [[http://david-halliday.co.uk/wiki/doku.php?id=databases:sql_server:date_formatting|Date Formatting]] |
| * [[http://david-halliday.co.uk/wiki/doku.php?id=databases:sql_server:date_selecting|Date Selecting]] | * [[http://david-halliday.co.uk/wiki/doku.php?id=databases:sql_server:date_selecting|Date Selecting]] |
| </code> | </code> |
| |
| | Getting whole days, and adding/subtracting days. Below, a selection of ways of getting to whole days. |
| | <code sql> |
| | SELECT GetDate() AS [Now_datetime], |
| | --2005 (and after) |
| | DateAdd(DAY, DateDiff(DAY, 0, GetDate()), 0) AS [today_whole_date], |
| | DateAdd(DAY, -1, DateAdd(DAY, DateDiff(DAY, 0, GetDate()), 0)) AS [yesterday], |
| | DateAdd(DAY, 1, DateAdd(DAY, DateDiff(DAY, 0, GetDate()), 0)) AS [tomorrow], |
| | DateAdd(MONTH, DateDiff(MONTH, 0, GetDate()), 0) AS [start of month], |
| | DateAdd(DAY, -1, DateAdd(MONTH, DateDiff(MONTH, 0, GetDate()), 0)) AS [end of last month], |
| | DateAdd(MONTH, -1, DateAdd(MONTH, DateDiff(MONTH, 0, GetDate()), 0)) AS [start of last month], |
| | DateAdd(MONTH, -3, DateAdd(MONTH, DateDiff(MONTH, 0, GetDate()), 0)) AS [start of 3 months ago], |
| | --2008 (and after) |
| | EOMonth(GetDate()) AS [EOM end of this month], |
| | EOMonth(GetDate(),-1) AS [EOM end of last month], |
| | DateAdd(DAY,1,EOMONTH(GetDate(),-1)) AS [EOM start of this month], |
| | --2014 (and after) -- At last we have DATE as datatype (whole day) |
| | CAST(GetDate()AS DATE) AS [today_whole_date_as_date], |
| | CAST(GetDate() - 1 AS DATE) AS [date_cast_yesterday], |
| | CAST(DateAdd(DAY, -1, GetDate()) AS DATE) AS [date_cast_yesterday_v2], |
| | CAST(DateAdd(MONTH, 1, GetDate()) AS DATE) AS [date_cast_one_month_ahead], |
| | DateFromParts(2017, 01, 01) AS [DFP code a date], |
| | DateAdd(MONTH, -1, DateFromParts(YEAR(GetDate()), MONTH(GetDate()), 1)) AS [DFP Start of last month], |
| | DateAdd(MONTH, -2, DateFromParts(YEAR(GetDate()), MONTH(GetDate()), 1)) AS [DFP Start of month before], |
| | DateAdd(DAY, -1, DateFromParts(YEAR(GetDate()), MONTH(GetDate()), 1)) AS [DFP End of last month] |
| | ; |
| | </code> |
| ====== Oracle ====== | ====== Oracle ====== |
| Links of interest: | Links of interest: |