Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Converting minutes to hh mm

Posted on 2008-10-25
7
398 Views
Last Modified: 2012-05-05
Hi

Currently I am using  CAST(flexcel.unformatted_remaining / 60 AS varchar(7)) + ':' + RIGHT('00' + CAST(flexcel.unformatted_remaining % 60 AS varchar(3)), 2) to convert minutes to HH:MM. this works well when the Number of minutes is positive i.e 01:10  , however if the number is negative i.e -10:05 problems arise with the display I have tried changing  varchar(3)), 2 to varchar(3)), 3 and different combinations
but when I get the negative right the posetive show wrong and visa  versa
0
Comment
Question by:Camnoc
  • 3
  • 3
7 Comments
 
LVL 37

Expert Comment

by:momi_sabag
ID: 22805249
well, when you get the number of minutes (i assume you use datediff) apply the abs function to it, this way it will always be positive
0
 

Author Comment

by:Camnoc
ID: 22805501
What is the abs function. I am using datediff to calculate the .time to minutes. Please understand I am new to sql.
0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22805995
This is what momi is referring too:
http://msdn.microsoft.com/en-us/library/ms189800.aspx

SELECT ABS(-200) ;
==> 200
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 

Author Comment

by:Camnoc
ID: 22806743
This seems to give a result in decimal. I am trying to display -15 min as -00:15 or 15 as 00:15 ??
0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22807461
Was just giving you an example of what was being suggested, you will have to same formula you had above with absolute inserted.

CAST(ABS(flexcel.unformatted_remaining) / 60 AS varchar(7)) + ':' + RIGHT('00' + CAST(ABS(flexcel.unformatted_remaining) % 60 AS varchar(3)), 2)
0
 
LVL 59

Accepted Solution

by:
Kevin Cross earned 500 total points
ID: 22807472
If we are misunderstanding and you are trying to show negatives, then you can do this instead.

CAST(flexcel.unformatted_remaining / 60 AS varchar(7)) + ':' + RIGHT('00' + CAST(ABS(flexcel.unformatted_remaining) % 60 AS varchar(2)), 2)

Open in new window

0
 

Author Closing Comment

by:Camnoc
ID: 31510011
THANK YOU
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Via a live example, show how to shrink a transaction log file down to a reasonable size.

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question