## Today() function

Solved
Frequent Contributor
Posts: 106

# Today() function

Hi,

I created a new column with only Today() function.  However, it returns the date as of 01Jan1960, not today's date.

Any idea?

Accepted Solutions
Solution
‎12-23-2015 04:24 PM
Super User
Posts: 24,009

## Re: Today() function

The function is working properly, please read up on how SAS stores dates, as number of days from January 1, 1960. So it's been 20445 days since Jan 1, 1960. To view as a date, apply the desired format.

TODAY() AS Today format=date9.

Example demonstration:
data _null_;

x=today();

y=x;
format y date9.;

put "Unformatted:" x "Formatted:" y;
run;

All Replies
Super User
Posts: 4,023

## Re: Today() function

Please supply your complete program. One possibility is that the variable you are assigning TODAY() to is fomatted as a DATETIME not as a DATE. Without your code we would just be guessing.

Frequent Contributor
Posts: 106

## Re: Today() function

Hi, below are the codes.  This time I did not formatt it.  The number SAS gives me for every available row is 20445. I also attached a image of the result it gave me.

PROC SQL;

CREATE TABLE WORK.QUERY_FOR_THE_SEASON_PARTIC_0002 AS

SELECT t1.GuestNumber1,

/* COUNT_of_GuestNumber1 */

(COUNT(t1.GuestNumber1)) AS COUNT_of_GuestNumber1,

/* Calculation */

(TODAY()) AS Today()

FROM WORK.QUERY_FOR_THE_SEASON_PARTIC_0000 t1

GROUP BY t1.GuestNumber1,

(CALCULATED Calculation);

QUIT;

Super User
Posts: 4,023

## Re: Today() function

[ Edited ]
``````PROC SQL;

CREATE TABLE WORK.QUERY_FOR_THE_SEASON_PARTIC_0002 AS

SELECT t1.GuestNumber1,

/* COUNT_of_GuestNumber1 */

(COUNT(t1.GuestNumber1)) AS COUNT_of_GuestNumber1,

/* Calculation */

TODAY() AS Today format = date9.
FROM WORK.QUERY_FOR_THE_SEASON_PARTIC_0000 t1

GROUP BY t1.GuestNumber1,

(CALCULATED Calculation);

QUIT;
``````
Frequent Contributor
Posts: 106

## Re: Today() function

Hi, I wrote your codes now but it still gives me the same result--see image below.

Below are the codes:

PROC SQL;

CREATE TABLE WORK.QUERY_FOR_FILTER_FOR_QUERY__0003 AS

SELECT t1.GuestNumber,

/* COUNT_of_GuestNumber */

(COUNT(t1.GuestNumber)) AS COUNT_of_GuestNumber,

/* Today */

TODAY() AS Today

FROM WORK.QUERY_FOR_FILTER_FOR_QUERY_FOR_T t1

GROUP BY t1.GuestNumber,

(CALCULATED Today);

QUIT;

Thank you

Solution
‎12-23-2015 04:24 PM
Super User
Posts: 24,009

## Re: Today() function

The function is working properly, please read up on how SAS stores dates, as number of days from January 1, 1960. So it's been 20445 days since Jan 1, 1960. To view as a date, apply the desired format.

TODAY() AS Today format=date9.

Example demonstration:
data _null_;

x=today();

y=x;
format y date9.;

put "Unformatted:" x "Formatted:" y;
run;

Super User
Posts: 4,023

## Re: Today() function

As Reeza has stated you left off FORMAT = date9.

🔒 This topic is solved and locked.