How do I alter Date (in Text format : 01.09.2023) to Date format?

Options

How do I alter Date (in Text format : 01.09.2023) to Date format?

I need it to be in a Date format such as 2023-09-01 instead of 01.09.2023

Tagged:

Best Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓
    Options

    You can use the Alter Column tile to convert your string to a date type field. You'll need to specify the date format as %d.%m.%Y.

    Alternatively you can use a formula tile and the STR_TO_DATE function to convert it to a date:

    STR_TO_DATE(`date_field`, '%d.%m.%Y')
    

    Here's more information on date formatting characters for reference: https://domo-support.domo.com/s/article/360043429953?language=en_US

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • MarkSnodgrass
    Answer ✓
    Options

    Based on the error message, it looks as though one of your rows contains a value of LAST_RUN and not any form of a date. You can try and handle this two different ways. In your formula tile, you can try wrapping a TRY_CAST function around your STR_TO_DATE function like this:

    TRY_CAST(STR_TO_DATE(Date, '%Y-%m-%d') as DATE)

    This will attempt to convert it to a date field and if it can't it will just make the value null.

    In the alter tile, click on the settings cog next to the cast data type and select Null in the Bad Values dropdown list. This will do the same thing as above, as it will make the value null if it can't convert it to a date for you.


    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.

Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓
    Options

    You can use the Alter Column tile to convert your string to a date type field. You'll need to specify the date format as %d.%m.%Y.

    Alternatively you can use a formula tile and the STR_TO_DATE function to convert it to a date:

    STR_TO_DATE(`date_field`, '%d.%m.%Y')
    

    Here's more information on date formatting characters for reference: https://domo-support.domo.com/s/article/360043429953?language=en_US

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • rachhh
    Options

    Thank you so much @GrantSmith ! The first solution proposed by you worked!

  • rachhh
    Options

    Hi @GrantSmith ,

    Sorry I have another question : The dataset I have contains date in this format :

    I have used RIGHT(Date, 10) to get :

    and I've tried the suggestions by you ('%Y-%m-%d') on the Alter tile and Formula tile, which both doesnt work. It gave me this error message :

    Appreciate your help!

  • MarkSnodgrass
    Answer ✓
    Options

    Based on the error message, it looks as though one of your rows contains a value of LAST_RUN and not any form of a date. You can try and handle this two different ways. In your formula tile, you can try wrapping a TRY_CAST function around your STR_TO_DATE function like this:

    TRY_CAST(STR_TO_DATE(Date, '%Y-%m-%d') as DATE)

    This will attempt to convert it to a date field and if it can't it will just make the value null.

    In the alter tile, click on the settings cog next to the cast data type and select Null in the Bad Values dropdown list. This will do the same thing as above, as it will make the value null if it can't convert it to a date for you.


    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.