COALESCE two dates returns binary?

前端 未结 2 1472
醉话见心
醉话见心 2021-01-21 04:27

Why does COALESCE(date1,date2) return Blob(binary)? Both columns are of type DATETIME.

Here\'s the complete sql query:

<         


        
相关标签:
2条回答
  • 2021-01-21 04:48

    This is probably a bug that has been fixed: bug-35662

    [28 Mar 2008 22:44] Patrick Crews

    Description:
    COALESCE(date, date) returns varbinary on 5.0.51a for Windows XP 32bit (only tested this flavor)

    COALESCE(date,date) returns date on Mac OS

    ...
    ...
    ...

    [31 Mar 2008 17:41] Omer BarNir
    The bug was fixed in 5.0.52 and was not observed when testing 5.0.56 - closing

    0 讨论(0)
  • 2021-01-21 05:04

    I still don't know why this happens in MySql Workbench (and also MS Visual Studio). But i have found a workaround. I just cast the result to DATETIME and it works as expected:

    SELECT CAST(COALESCE( last_modified, date_purchased )AS DATETIME)As LastModifiedOrPurchased
    FROM Orders
    ORDER BY COALESCE( last_modified, date_purchased )DESC
    LIMIT 1;
    

    Edit: as Jack has commented, IFNULL works also:

    SELECT IFNULL( last_modified, date_purchased )As LastModifiedOrPurchased
    FROM Orders
    ORDER BY IFNULL( last_modified, date_purchased )DESC
    LIMIT 1;
    
    0 讨论(0)
提交回复
热议问题