好的,我在桌子上有一排.此行有八个日期类型字段.
我正在尝试编写一个返回行中最高日期值的查询.
例如:
    NULL,NULL,2009-10-09,2010-03-12,2010-04-15,2010-06-23,2010-08-27,NULL
Run Code Online (Sandbox Code Playgroud)
针对上表运行时的查询将返回此行的以下值:2010-08-27
我尝试了几种使用CASE的组合,但它似乎不够优雅和冗长(因此我还没有完成编写查询).
我还有其他选择吗?或者有人有一个他们已成功运行的解决方案?
感谢任何可以提供的帮助.:)
你想要GREATEST功能:
SELECT GREATEST(col1, col2, col3, col4, col5, col6, col7, col8) AS max_date
  FROM YOUR_TABLE
Run Code Online (Sandbox Code Playgroud)
注意数据类型 - 不想比较应该是DATE/etc的字符串.
可惜SQL Server没有它,但幸运的是Oracle和PostgreSQL都有.