Skip to main content
select STUFF(
STUFF(RIGHT('000000' + CAST([run_duration] AS VARCHAR(6)),  6)
            , 3, 0, ':')
        , 6, 0, ':') 
    AS [LastRunDuration (HH:MM:SS)]
 from sysjobhistory

The query I have given above works fine but I am trying to understand it more clear.My My observations are 1.first we cast the run duration into varchar and with a length 6 and append six 0's to right of it which becomes if its is 10 then 00000010
2.After we use the stuff function to insert ':' in between this here it is at the 3rd position so the above one becomes 00:000010
3.Again we use stuff to insert the : symbol to the sixth position so it becomes 00:00:0010

  1. First we cast the run duration into varchar and with a length 6 and append six 0's to right of it which becomes if its is 10 then 00000010
  2. After we use the stuff function to insert : in between this here it is at the 3rd position so the above one becomes 00:000010
  3. Again we use stuff to insert the : symbol to the sixth position so it becomes 00:00:0010

But when I run the query if there is a values 1010 it shows as 00:00:10 how 00:00:10.

How that can be  ?Please help

select STUFF(
STUFF(RIGHT('000000' + CAST([run_duration] AS VARCHAR(6)),  6)
            , 3, 0, ':')
        , 6, 0, ':') 
    AS [LastRunDuration (HH:MM:SS)]
 from sysjobhistory

The query I have given above works fine but I am trying to understand it more clear.My observations are 1.first we cast the run duration into varchar and with a length 6 and append six 0's to right of it which becomes if its is 10 then 00000010
2.After we use the stuff function to insert ':' in between this here it is at the 3rd position so the above one becomes 00:000010
3.Again we use stuff to insert the : symbol to the sixth position so it becomes 00:00:0010

But when I run the query if there is a values 10 it shows as 00:00:10 how that can be  ?Please help

select STUFF(
STUFF(RIGHT('000000' + CAST([run_duration] AS VARCHAR(6)),  6)
            , 3, 0, ':')
        , 6, 0, ':') 
    AS [LastRunDuration (HH:MM:SS)]
 from sysjobhistory

The query I have given above works fine but I am trying to understand it more clear. My observations are:

  1. First we cast the run duration into varchar and with a length 6 and append six 0's to right of it which becomes if its is 10 then 00000010
  2. After we use the stuff function to insert : in between this here it is at the 3rd position so the above one becomes 00:000010
  3. Again we use stuff to insert the : symbol to the sixth position so it becomes 00:00:0010

But when I run the query if there is a values 10 it shows as 00:00:10.

How that can be?

Source Link
Biju jose
  • 2.1k
  • 2
  • 18
  • 27

Stuff function in T-SQL

select STUFF(
STUFF(RIGHT('000000' + CAST([run_duration] AS VARCHAR(6)),  6)
            , 3, 0, ':')
        , 6, 0, ':') 
    AS [LastRunDuration (HH:MM:SS)]
 from sysjobhistory

The query I have given above works fine but I am trying to understand it more clear.My observations are 1.first we cast the run duration into varchar and with a length 6 and append six 0's to right of it which becomes if its is 10 then 00000010
2.After we use the stuff function to insert ':' in between this here it is at the 3rd position so the above one becomes 00:000010
3.Again we use stuff to insert the : symbol to the sixth position so it becomes 00:00:0010

But when I run the query if there is a values 10 it shows as 00:00:10 how that can be ?Please help