Magic ETL

Magic ETL

Convert text field to date format

I need to convert a text field to a date field. I have tried magic ETL which didn't work. I also created a redshift using a case statement "cast(week_end as DATE) as week_end" , which resulted in a sytax error "invalid operation: error converting text to date". any ideas??

Thanks!

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In

Best Answers

  • Contributor
    Answer ✓

    Hey @debbie_a,

     

    In beast mode you can use the STR_TO_DATE() function to convert your string to date. 

     

    However it sounds like you might have some bad data in your column if the CAST function is erroring out, you may want to check the distinct values of the date column for any odd characters or strange values.

     

    See https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date for instructions on how to use the STR_TO_DATE function.

     

    Hope this is helpful!

    **Say 'Thanks' by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as 'Accepted Solution'
  • Domo Employee
    Answer ✓

    if you are using redshift, you can use TO_DATE(`string`, format)

     

    example:

    select to_date ('02 Oct 2001', 'DD Mon YYYY');

  • Member
    Answer ✓

    After I found the bad data in a row, the to_date worked as the final step to convert the data type. thanks!

Answers

  • Contributor
    Answer ✓

    Hey @debbie_a,

     

    In beast mode you can use the STR_TO_DATE() function to convert your string to date. 

     

    However it sounds like you might have some bad data in your column if the CAST function is erroring out, you may want to check the distinct values of the date column for any odd characters or strange values.

     

    See https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date for instructions on how to use the STR_TO_DATE function.

     

    Hope this is helpful!

    **Say 'Thanks' by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as 'Accepted Solution'
  • Domo Employee
    Answer ✓

    if you are using redshift, you can use TO_DATE(`string`, format)

     

    example:

    select to_date ('02 Oct 2001', 'DD Mon YYYY');

  • I did find some bad data, so you were correct on that call out!! thank you

  • Thanks. After finding the bad data that in a row, the to_date worked as the final step to solve the conversion issue!

  • Member
    Answer ✓

    After I found the bad data in a row, the to_date worked as the final step to convert the data type. thanks!

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In