Ir al contenido


Foto

convertir minutos y segundos (ejemplo: 2'20'' a 00:02:20)


  • Por favor identifícate para responder
1 respuesta en este tema

#1 Pratasvenska

Pratasvenska

    Member

  • Miembros
  • PipPip
  • 38 mensajes
  • LocationSuecia

Escrito 14 junio 2019 - 07:05

Buen día,

Tengo un string con minutos y segundos. p.ej: 2'20''. Necesito convertirlo a DateTime (la fecha no importa, puede ponerse por default la fecha del día, el resultado esperado sería 

 

2019-06-14 00:02:20.000

 

También deben tomarse en cuenta las horas. 134'30'' sería entonces:

 

2019-06-14 02:14:30.000

 

En caso de ser muy complicado convertirlo a DateTime, sería suficiente que el resultado sea tambien string:

 

'02:14:30.000'

 

Lamentablemente no soy muy bueno con strings y/o funciones como cast, convert en sql server

Alguna sugerencia?

 

Gracias :)


  • 0

#2 TheFlame

TheFlame

    Newbie

  • Miembros
  • Pip
  • 1 mensajes
  • LocationBolivia

Escrito 17 mayo 2021 - 10:15

Hola Pratasvenska

 

Hice script que espero te pueda ayudar


sql
  1. DECLARE @Cadena VARCHAR(MAX)= '2''20"'
  2.  
  3. DECLARE @MIN DECIMAL(7,4)
  4. DECLARE @Seg DECIMAL(7,4)
  5. DECLARE @Aux VARCHAR(MAX)
  6.  
  7. SET @MIN = CAST((SELECT top 1 VALUE FROM STRING_SPLIT(@Cadena,'''')) AS DECIMAL(7,4))/60
  8. SET @Aux = (SELECT top 1 VALUE FROM STRING_SPLIT(@Cadena,'''') ORDER BY VALUE DESC)
  9. SET @Seg = CAST((SELECT top 1 VALUE FROM STRING_SPLIT(@Aux,'"')) AS DECIMAL(7,4))/3600
  10.  
  11. SELECT CAST(CONVERT(VARCHAR,DATEADD(SECOND, (@MIN+@Seg) * 3600, 0),108) AS TIME)

Saludos


  • 0