我正在尝试从MySQL中的JSONFIELD“数据”中提取日期时间。
但是,如果我执行简单的JSON_EXTRACT,则返回字段类型为JSON。
mysql> select JSON_EXTRACT(data, "$.new_time") from analytics limit 10;
+----------------------------------+
| JSON_EXTRACT(data, "$.new_time") |
+----------------------------------+
| NULL |
| "2016-09-30T04:00:00+00:00" |
| "2016-09-29T05:30:00+00:00" |
| NULL |
| "2016-10-01T05:30:00+00:00" |
| "2016-09-27T23:00:00+00:00" |
| NULL |
| "2016-09-23T01:30:00+00:00" |
| "2016-09-23T04:00:00+00:00" |
| "2016-09-27T01:30:00+00:00" |
+----------------------------------+
我想将其转换为MySQL DATETIME。但是,如果我链接JSON_EXTRACT和STR_TO_DATETIME,我将获得所有NULL值:
mysql> select STR_TO_DATE(JSON_EXTRACT(data, "$.new_time") ,"%Y-%m-%d") from analytics_calendaranalytics limit 10;
+-----------------------------------------------------------+
| STR_TO_DATE(JSON_EXTRACT(data, "$.new_time") ,"%Y-%m-%d") |
+-----------------------------------------------------------+
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
+-----------------------------------------------------------+
同样,CAST作为DATETIME也会失败:
mysql> select CAST(JSON_EXTRACT(data, "$.new_time") as DATETIME) from analytics_calendaranalytics limit 10;
+----------------------------------------------------+
| CAST(JSON_EXTRACT(data, "$.new_time") as DATETIME) |
+----------------------------------------------------+
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
| NULL |
+----------------------------------------------------+
当我从字符串值开始时,这两个命令都起作用:
mysql> select CAST("2016-09-30T04:00:00+00:00" as DATETIME);
+-----------------------------------------------+
| CAST("2016-09-30T04:00:00+00:00" as DATETIME) |
+-----------------------------------------------+
| 2016-09-30 04:00:00 |
+-----------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> select STR_TO_DATE("2016-09-30T04:00:00+00:00", "%Y-%m-%d");
+------------------------------------------------------+
| STR_TO_DATE("2016-09-30T04:00:00+00:00", "%Y-%m-%d") |
+------------------------------------------------------+
| 2016-09-30 |
+------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
希望能解决任何帮助!
您必须使用JSON_UNQUOTE
select CAST( JSON_UNQUOTE( JSON_EXTRACT(data, "$.new_time")) as DATETIME) from analytics_calendaranalytics limit 10;
会工作。我要说的是,因为您尚未提供示例数据。我尝试如下:
select @js := JSON_OBJECT('new_time',"2016-09-30T04:00:00+00:00" );
select CAST(JSON_UNQUOTE(JSON_EXTRACT(@js,'$.new_time')) as DATETIME);
以下查询也适用
select STR_TO_DATE(JSON_UNQUOTE(JSON_EXTRACT(@js,'$.new_time')) ,"%Y-%m-%d");
我检查了XML文件的本地历史记录,并再次检查了清单文件,没有发现任何错误。 命令:c:\users\lucif.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\c9d8fd27aeabc6968bb2cb43f288855c\aapt2-3.2.1-4818971-windows\AAPT2.exe链接
除非通过无界通配符对其进行参数化,否则不允许转换为参数化类型。 Box<Integer> integerBox = new Box<Integer>(); Box<Number> numberBox = new Box<Number>(); //Compiler Error: Cannot cast from Box<Number> to Box<Integer> integerBox = (Bo
问题内容: 我使用Java从Mysql查询一些记录。但是在某些持续时间的查询中,我遇到了使查询失败的问题,而在其他查询中,它查询成功了。错误消息是下一个: 我尝试了一些方法,例如: 设置 在 添加 到我的连接网址 但什么也没发生。 我的环境是: Mysql:5.5.3-m3-log源代码分发 的Java:1.6.0_16 JDK:HotSpot(TM)64位服务器VM(内部版本14.2-b01,混
我有一个奇怪的问题,当我构建和运行时,我经常得到这个错误
问题内容: 以下是构建链接的两种方法,其唯一目的是运行JavaScript代码。在功能,页面加载速度,验证目的等方面哪个更好? 要么 问题答案: 我用。 三个原因。鼓励#在一组开发人员中使用,不可避免地导致某些人使用这样的函数的返回值: 但是后来他们忘记在中使用,而只使用。 避免的第二个原因是,;如果被调用的函数抛出错误,则最终语句将不会执行。因此,开发人员还必须记住在调用的函数中适当地处理任何错
我正在为Wikitude SDK创建本地库绑定。