skykingjwc
asked on
DATEPART with milliseconds, how to get leading zero
I am trying to pull the milliseconds from a datetime column using CAST(DATEPART(millisecond, qual.time)AS VARCHAR(3))
I need the first two digits of the milliseconds with a leading zero.
Right now if the milliseconds is .090 I am getting .90 back which is incorrect. I have tried casting to an INT but i get an error that "String 2:2 cannot be cast to an int". I believe this is from the data in the database which is 1900-01-01 02:02.090 . For some reason the datepart function and the cast are attemping to convert the entire date instead of just the milliseconds.
I need the first two digits of the milliseconds with a leading zero.
Right now if the milliseconds is .090 I am getting .90 back which is incorrect. I have tried casting to an INT but i get an error that "String 2:2 cannot be cast to an int". I believe this is from the data in the database which is 1900-01-01 02:02.090 . For some reason the datepart function and the cast are attemping to convert the entire date instead of just the milliseconds.
ASKER
9 tenths of a second is not the same as 9 hundredths of a second.
If you read the second line in the question, I wanted the first two digits (tenths and hundredths) after the decimal.
If you read the second line in the question, I wanted the first two digits (tenths and hundredths) after the decimal.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
declare @x varchar(50)
set @x = '1900-01-01 02:02.090'
select substring(@x, charindex( '.', @x)+1, len(@x))