我认为这是一个非常简单的问题。我想通过SQL查询获取最近的日期和最早的日期。 Datefield
看起来像这样:24.04.2019
如果我尝试使用Min
和Max
函数获取最近和最旧的日期,则它不起作用,因为它只是查看Day。所以01.01.1800小于31.03.2019
TableA
:
------------------------------
| A | B | C | Date |
------------------------------
| 1 | 2 | 3 | 13.02.2017 |
| 2 | 3 | 7 | 15.06.1985 |
| 3 | 3 | 4 | 14.04.2001 |
| 3 | 9 | 8 | 13.01.1789 |
-------------------------------
从上述样本数据中得出的预期结果如下
-------------------------------
| Recent Date | Oldest Date |
-------------------------------
| 13.02.2017 | 13.01.1789 |
-------------------------------
答案 0 :(得分:1)
您必须使用CONVERT
将字符串转换为日期类型:
SELECT
MIN(CONVERT(DATE, column_name, 104)) AS minDate,
MAX(CONVERT(DATE, column_name, 104)) AS maxDate
FROM table_name
您不应使用字符串类型将日期值存储在列中。改用DATE
或DATETIME2
。
答案 1 :(得分:0)