I'm using SQL Server as database. I have 2 columns in a table, newTime, oldTime.
Suppose I have value of 04:07:28 in the newTime column, and for oldTime, the value is 03:07:40.
The result should get the total of newTime and oldTime columns which is 07:15:08.
I tried the Split_String() function to easily split the numbers into hours, minutes, and seconds. But I have an issue in database the compatibility level is low and also I tried to set the compatibility_level to 130 but I don't have permission to alter the database.
Is there any other way to sum up the two columns? Thank you!
CodePudding user response:
As mentioned in comments - if you're storing time values, you should really be using the TIME datatype - not a VARCHAR ..... always use the most appropriate datatype - no exceptions.
Anyway - since you have VARCHAR, the statement get a bit convoluted - but here you go:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, CAST(NewTime AS TIME)), CAST(OldTime AS TIME))
FROM
dbo.YourTableNameHere
which would look a lot easier with TIME columns, of course:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, NewTime), OldTime)
FROM
dbo.YourTableNameHere
