• Lunes 29 de Abril de 2024, 07:46

Autor Tema:  insertar datos numericos en una columna de caracter  (Leído 1344 veces)

nessthor

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
insertar datos numericos en una columna de caracter
« en: Miércoles 2 de Julio de 2003, 20:03 »
0
Tengo el siguiente còdigo, necesito  insertar en la columna tiempo (de tipo caracter tamaño 5) segun lo ke necesito en cada If...ENDIF.
Por ejemplo, necestio insertar el dato 00:minuto, donde este valor minuto me esta cambiando, este valor es numerico.
Gracias

Codigo:
select pruebas &&pruebas = nombre de la tabla
store hora to xValue
store hora_ant to yValue
store fecha to aValue
Store fecha_ant to bValue
skip
do while !eof()
   
   store hora to xValue
   store hora_ant to yValue
   store fecha to aValue
   store fecha_ant to bValue
   
   a=CTOT(DTOC(bValue)+" "+yValue)
    b=CTOT(DTOC(aValue)+" "+xValue)
    segundos=b-a && (fin - inicio)
   minutos=segundos/60
   horas=minutos/60
   
   ** diferencia de 1 hora **
   If (minutos)>59 And (minutos)<60.5 And (horas)>0 and (horas)<2 Then
      replace tiempo with '01:00'
   EndIf

   ** diferencia de 2 horas **
   If (minutos)>119 And (minutos)<120.5 And (horas)>1 and (horas)<3 Then
      replace tiempo with '02:00'
   EndIf

   ** menor de una hora **
   If (minutos)<60 And (minutos)>=0  And (horas)<1  Then
      replace tiempo with '00:'+Str(minutos)
   EndIf

   ** mayor de una hora **
   If (minutos)>60.5 And (horas)>1 And (horas)<2Then
      minutos=minutos-60
      replace tiempo with '01:'+Str(minutos)
   EndIf

   ** mayor de 2 hora **
   If (minutos)>60.5 And (horas)>2 Then
      minutos=minutos-120
      replace tiempo with '02:'+Str(minutos)
   EndIf
   
   skip
enddo

Brow
Close tables               
Clear

paoluccij

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: insertar datos numericos en una columna de caracter
« Respuesta #1 en: Jueves 11 de Diciembre de 2003, 16:17 »
0
debes colocar todos los Str(minutos) por allt(Str(minutos)), y para ver antes que te esta dando como resultado el campo a guardar, has una impresion por pantalla:

m.tiempo =  '00:'+allt(Str(minutos))

? m.tiempo

y luego verificar el largo de caracteres de la variable a guardar

? len(m.tiempo)

si el largo es menor o igual al campo de la tabla, ya podras guardarlo en la misma

saludos