HINPUT: Cómo convertir una cadena alfanumérica en un valor de fecha-hora

Cómo:

Idiomas disponibles: informes, Maintain

La función HINPUT convierte una cadena alfanumérica en un valor de fecha-hora.


Principio de página

x
Sintaxis: Cómo Convertir una cadena alfanumérica en un valor de fecha-hora
HINPUT(source_length, 'source_string', output_length, output)

donde:

source_length

Número entero

Es el número de caracteres en la cadena de origen que se va a convertir. Puede proporcionar el valor en sí, el nombre de un campo numérico que contenga el valor o una expresión que devuelva el valor.

source_string

Alfanumérico

Es la cadena que se va a convertir, entre comillas simples, que se va a convertir, el nombre de un campo alfanumérico que contiene la cadena o una expresión que la devuelve. La cadena puede estar compuesta de cualquier valor de entrada de fecha-hora.

output_length

Número entero

Es la longitud del valor devuelto de fecha-hora. Los valores válidos son:

  • 8 indica un valor de hora que incluye entre uno y tres dígitos decimales (milisegundos).
  • 10 indica un valor de hora que incluye entre cuatro y seis dígitos decimales (microsegundos).
  • 12 indica un valor de hora que incluye entre siete y nueve dígitos decimales (nanosegundos).
output

Fecha-hora

El valor de fecha-hora devuelto. Es un campo que contiene el resultado, o el formato del valor de salida entre comillas simples. El formato debe ser de fecha-hora (datos de tipo H).



Ejemplo: Cómo convertir una cadena alfanumérica en un valor de fecha-hora (Lenguaje de informes)

HCNVRT convierte el campo TRANSDATE al formato alfanumérico y a continuación, HINPUT convierte la cadena alfanumérica al valor fecha-hora:

TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
ALPHA_DATE_TIME/A20 = HCNVRT(TRANSDATE, '(H17)', 17, 'A20');
DT_FROM_ALPHA/HYYMDS = HINPUT(14, ALPHA_DATE_TIME, 8, 'HYYMDS');
WHERE DATE EQ 2000;
END

La salida es:

CUSTID  DATE-TIME         ALPHA_DATE_TIME       DT_FROM_ALPHA
------  ---------         ---------------       -------------
1237    2000/02/05 03:30  20000205033000000     2000/02/05 03:30:00
1118    2000/06/26 05:45  20000626054500000     2000/06/26 05:45:00


Ejemplo: Cómo convertir una cadena alfanumérica en un valor de fecha-hora (Maintain)

HINPUT convierte el campo DT1 al formato alfanumérico:

MAINTAIN FILE DATETIME
COMPUTE
RESULT/HMtDYYmA = HINPUT(20,'19971029133059888999',10,RESULT);
TYPE RESULT;
END

WebFOCUS