Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 合并两个日期返回二进制?_Mysql_Sql_Mysql5 - Fatal编程技术网

Mysql 合并两个日期返回二进制?

Mysql 合并两个日期返回二进制?,mysql,sql,mysql5,Mysql,Sql,Mysql5,为什么合并(date1,date2)返回Blob(二进制)?两列的类型均为DATETIME 以下是完整的sql查询: SELECT COALESCE( last_modified, date_purchased )As LastModifiedOrPurchased FROM Orders ORDER BY COALESCE( last_modified, date_purchased )DESC LIMIT 1; 我通常使用SQL Server作为rdbms,但需要编写一个同步工具。现在我试

为什么
合并(date1,date2)
返回
Blob
(二进制)?两列的类型均为
DATETIME

以下是完整的sql查询:

SELECT COALESCE( last_modified, date_purchased )As LastModifiedOrPurchased
FROM Orders
ORDER BY COALESCE( last_modified, date_purchased )DESC
LIMIT 1;
我通常使用SQL Server作为rdbms,但需要编写一个同步工具。现在我试着从两个日期中选择一个。如果上次修改的
为空,则应返回购买日期

但是,即使有多个记录的两个日期都不为空,查询也只返回
Blob
。如何获得正确的最后日期


编辑:MySql 5.1.61(我使用的是5.0.51)无法复制它。

我仍然不知道为什么MySql Workbench(以及MS Visual Studio)会出现这种情况。但我找到了一个解决办法。我刚刚将结果转换为
DATETIME
,结果如预期:

SELECT CAST(COALESCE( last_modified, date_purchased )AS DATETIME)As LastModifiedOrPurchased
FROM Orders
ORDER BY COALESCE( last_modified, date_purchased )DESC
LIMIT 1;
编辑:正如杰克所评论的,
IFNULL
也可以:

SELECT IFNULL( last_modified, date_purchased )As LastModifiedOrPurchased
FROM Orders
ORDER BY IFNULL( last_modified, date_purchased )DESC
LIMIT 1;

这可能是一个已修复的错误:

[2008年3月28日22:44]帕特里克·克鲁斯

说明:
COALESCE(date,date)
在Windows的5.0.51a上返回varbinaryXP 32位(仅测试此版本)

COALESCE(日期,日期)
在Mac OS上返回日期



...

[2008年3月31日17:41]Omer BarNir
该错误在5.0.52中修复,在测试5.0.56-关闭时未观察到


你在命令行上试过了吗?或者您使用什么来触发查询?这些列的数据类型是什么?@tombom:我已经在MySql workbench 5.2.34和Visual Studio中试用过。顺便说一句,我使用的是windows 2008。是的,我想知道它是否可以复制。很多客户端在正确显示数据方面存在问题,或者认为他们帮了用户一个忙,例如,我使用的是Toad,它不会正确显示
tinyint
(它当时只使用复选框),并且
NULL
值根本不会显示,因此您无法判断它是NULL还是空字符串。尽管如此,我还是可以推荐蟾蜍。问题是你的客户!既然只有两列,为什么不使用IFNULL()@Jack:this也可以(相应地编辑了我的答案):