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!

Best Answers

  • PodiumMason
    Accepted 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!

  • ST_-Superman-_
    Accepted Answer

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

     

    example:

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

  • debbie_a
    Accepted 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

  • 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!