locked
How to get Leading Zero in Single Digit Date using T-SQL ? RRS feed

  • Question

  • Hi friends,

    How can we get Leading Zero in Single Digit Date ?

    Example :

    IF date is 13 then using Date Function, I am getting 13.

    If date is 4 then using Date Function, I am getting 4. I need Leading Zero.  How i will get 04 ?

    Thanks.

    Tuesday, July 6, 2010 2:33 AM

Answers

  • Declare @Test Table (TestDate datetime);
    Insert @Test(TestDate)
    Select '20100705'
    Union All Select '20100713'
    Select TestDate, Right('0' + Cast(Day(TestDate) As varchar(2)), 2)
    From @Test
    Tom
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 3:02 AM
  • Do you mean select convert(varchar(2), getdate(), 103)
    • Proposed as answer by Naomi N Tuesday, July 6, 2010 4:30 AM
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 4:13 AM
  • Is this what you need?

    DECLARE @t DATETIME
    SET @t = '4/3/2010 00:00:00.000'
    
    SELECT CONVERT(CHAR(2),@t,103)

    Abdallah El-Chal, PMP, ITIL, MCTS
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 4:27 AM
  • Another way

    select right('00' + datepart(dd, Datetime()),2) as TheDay

    select right(convert(char(8),getdate(),112),2)

    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 9:19 AM

All replies

  • Declare @Test Table (TestDate datetime);
    Insert @Test(TestDate)
    Select '20100705'
    Union All Select '20100713'
    Select TestDate, Right('0' + Cast(Day(TestDate) As varchar(2)), 2)
    From @Test
    Tom
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 3:02 AM
  • I think you meant DAY() function. Can you provide more info as what you're trying to do?
    Premature optimization is the root of all evil in programming. (c) by Donald Knuth

    Naomi Nosonovsky, Sr. Programmer-Analyst

    My blog
    Tuesday, July 6, 2010 3:25 AM
  • Do you mean select convert(varchar(2), getdate(), 103)
    • Proposed as answer by Naomi N Tuesday, July 6, 2010 4:30 AM
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 4:13 AM
  • Is this what you need?

    DECLARE @t DATETIME
    SET @t = '4/3/2010 00:00:00.000'
    
    SELECT CONVERT(CHAR(2),@t,103)

    Abdallah El-Chal, PMP, ITIL, MCTS
    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 4:27 AM
  • Another way

    select right('00' + datepart(dd, Datetime()),2) as TheDay

    select right(convert(char(8),getdate(),112),2)

    • Marked as answer by KJian_ Monday, July 12, 2010 3:01 AM
    Tuesday, July 6, 2010 9:19 AM