🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 08-02-2017 11:03 AM
(4391 views)
Hello,
i want to insert SYSDATE into an oracle table.
This works:
proc sql noprint threads;
connect to ORACLE as oracle ( user=XX password=XX path=XX );
INSERT INTO oraCon.TABLENAME
(
LAST_UPDATE
)
VALUES
(
'01JAN2016:00:00:00'DT
);
disconnect from oracle;
quit;
But how can i insert sysdate/datetime (the actual date and time) instead of the constant "'01JAN2016:00:00:00'DT"?
Thank you very much.
Best regards
George
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Maybe (can't check it):
VALUES ( "%sysfunc(date(),date9.):%sysfunc(time(),tod8.)"dt );
5 REPLIES 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Use the DATETIME() function.
*Create a macro variable;
%let myDate = %sysfunc(datetime(), datetime21.);
*Display macro variable for testing;
%put &myDate;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Maybe (can't check it):
VALUES ( "%sysfunc(date(),date9.):%sysfunc(time(),tod8.)"dt );
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks you very much
Best regards
George
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The automatic macro variables SYSDATE9 and SYSTIME are set to the date and time when your SAS session started. If you want to use those then change use something like:
proc sql noprint threads;
connect to ORACLE as oracle ( user=XX password=XX path=XX );
INSERT INTO oraCon.TABLENAME (LAST_UPDATE)
VALUES ("&sysdate9:&systime"dt)
;
disconnect from oracle;
quit;
If instead you want to use the current date and time then you can call the DATETIME() function instead. The VALUES statement does not take functions so wrap the function call in the %SYSFUNC() macro function.
VALUES (%sysfunc(datetime()))
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much - works also correct:)