背景:我需要在SQL Server 2008 10.0.5869的T-SQL中编写函数。如何在SQL中比较列并仅返回其中的一列
这里是我的工作表(为简单起见 - 我只放3列在这里 - 但我有10列的实际工作):
ID | Column1 | Column2 | Column3
1 | 2014-05 | 2015-02 | 2013-04
2 | 2012-09 | 2011-02 | 2013-03
ID为varchar和列(x)都是日期时间。
我的最终目标是设计一个功能fn_CompareDate做这样的事情:
select fn_CompareDate(ID) from table where ID = 1
上述查询应返回从塔(X)S的应该是2015-02最新的日期。
我使用CASE WHEN,但它几乎不可能用于10列。有另一种方法可以达到相同的结果吗?
你能改变你的模式吗? – Blorgbeard 2015-02-10 00:53:57
可能的重复[什么是从多列中选择最小值的最佳方法?](http://stackoverflow.com/questions/368351/whats-the-best-way-to-select-the-minimum-value-从多个列) – Blorgbeard 2015-02-10 00:55:18
看看http://stackoverflow.com/questions/1972051/sql-server-equivalent-to-oracle-至少唯一的区别 - 你需要最大 – 2015-02-10 00:55:26