BookmarkSubscribeRSS Feed
itshere
Obsidian | Level 7

Hello - 

 

I currently have 2016-01-01 in my data.. its format is text,20. 

 

I want to join it with another table that i have and its format is 01JAN2016 00:00:00

 

How do I first convert the text DATE into number DATE and then in the correct format to join on this ^

 

I initially did Input(A.int_date, datetime20.) but it made all the rows blank. 

 

Any ideas?


Thanks!

3 REPLIES 3
PGStats
Opal | Level 21

Build a SAS datetime value with function DHMS

 

dt = dhms(input(A.int_date, yymmdd10.), 0, 0, 0);

format dt datetime20.;

PG
itshere
Obsidian | Level 7
I forgot to mention Im using PROC SQL

So i need something that is supported by that.
ballardw
Super User

dhms(input(A.int_date, yymmdd10.), 0, 0, 0) is supported by SAS Proc SQL.

You can us the value in a where clause as: Where dhms(input(A.int_date, yymmdd10.), 0, 0, 0) > <some datetime value>

or

join on dhms(input(A.int_date, yymmdd10.), 0, 0, 0) = b.datetimevariablename

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 1058 views
  • 0 likes
  • 3 in conversation