BookmarkSubscribeRSS Feed
Tip Semanal 010: "Unir 2 columnas separadas de fecha y hora"
Berenice25
SAS Employee

SAS proporciona varias funciones de fechas para realizar ciertas diversas operaciones. En este ejemplo presentamos una alternativa para unir 2 columnas, una de fecha y otra de hora, utilizando el paso 'Paso Data' o el 'Proc SQL'. Además, proporcionamos dos opciones de formato fecha-hora. Puede ejecutar el código y revisar el resultado.

 

/****************************************************************************/
/* Unir 2 columnas separadas de fecha y hora				  				*/
/* Une 2 columnas separadas de fecha y hora en una única columna fecha-hora	*/
/* agregando formatos.												 		*/
/* Ejemplo utilizando el Paso Data y también el Proc SQL					*/
/****************************************************************************/


/*-------------------*/
/* inicio del código */
/*-------------------*/

/*--------------------------*/
/* Utilizando el Paso Data	*/
/*--------------------------*/

data tabla_fecha_hora_DataStep;
	fecha='23Jan2021'd;
	hora='13:09't;
	format fecha ddmmyy10. hora timeampm.;
	fecha_hora=dhms(fecha, 0, 0, hora);  /* la función DHMS concatena las variables fecha y hora */
    format fecha_hora b8601dt.;  /* formato fecha-hora solamente separado por una 'T' */
run;

/*--------------------------*/
/* Utilizando el Proc SQL	*/
/*--------------------------*/

proc sql;
	Create table tabla_temp_SQL (fecha num format=YYMMDDN., hora num format=timeampm.);  /* crea la tabla 'tabla_temp_SQL' */
	insert into tabla_temp_SQL
		values('23Jan2021'd,'13:09't) 	
	;
	Create table tabla_fecha_hora_SQL as
		Select 
			t1.fecha,
			t1.hora,
			dhms(fecha, 0, 0, hora) as fecha_hora_sql format=is8601dt.  /* formato fecha-hora separado por 'T', '-' y ':' */
		From tabla_temp_SQL t1
	;
	Drop table tabla_temp_SQL  /* elimina la tabla 'tabla_temp_SQL' */
	;
quit;


/*-------------------*/
/* fin del código 	 */
/*-------------------*/

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 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Article Labels
Article Tags
Contributors