Chaining JSON_EXTRACT with CAST or STR_TO_DATE fails

前端 未结 1 1455
既然无缘
既然无缘 2020-12-18 22:06

I\'m trying to extract a datetime from a JSONFIELD \"data\" in MySQL.

If I do a simple JSON_EXTRACT however, the return field type is a JSON.

mysql&g         


        
相关标签:
1条回答
  • 2020-12-18 22:55

    You have to use JSON_UNQUOTE

    select CAST( JSON_UNQUOTE( JSON_EXTRACT(data, "$.new_time")) as DATETIME) from analytics_calendaranalytics limit 10;
    

    Would work. I am saying would because you haven't provided sample data. I tried as follows:

    select @js := JSON_OBJECT('new_time',"2016-09-30T04:00:00+00:00"  );
    
    select CAST(JSON_UNQUOTE(JSON_EXTRACT(@js,'$.new_time')) as DATETIME);
    

    The following query also works

     select STR_TO_DATE(JSON_UNQUOTE(JSON_EXTRACT(@js,'$.new_time')) ,"%Y-%m-%d");
    
    0 讨论(0)
提交回复
热议问题