比较来自世界各地的卖家的域名和 IT 服务价格

PostgreSQL, 从文本列中获取最小和最大日期

我有这样的情况:


1 01.02.2011
2 05.01.2011
3 06.03.2012
4 07.08.2011
5 04.03.2013
6 06.08.2011
7
8 02.02.2013
9 04.06.2010
10 10.10.2012
11 04.04.2012


第一个列ID在哪里 /INT/, 和第二列文本,其中可以记录格式的日期 'dd.mm.yyyy'.

我想收到:

1/ 在整个表上输入的低日期和整个表格上的高输入日期。

2/ 输入的最低日期 2012 年份和最高推出的日期 2012 年。

年度最低和最高日期可能是一样的 /怎么样 2010 年/ 或者字段可以是空的 /like 7/.

我正在努力使用 TO_TIMESTAMP, 但不成功。
例子:


SELECT /TO_TIMESTAMP/mydatetxt, 'DD.MM.YYYY'// 
FROM " & myTable & "
ORDER BY /TO_TIMESTAMP/mydatetxt, 'DD.MM.YYYY'// ASC LIMIT 1


另外,在间隔内,我没有得到所需的结果。

如何编写这两个请求?

SOLUTION:

感谢所有优惠。

igor对我的决定是最合适和相当简单。


Dim sqlText As String = "SELECT min/to_date/nullif/mydate,''/, 'DD.MM.YYYY'// FROM " & mytable
cmd1 = New NpgsqlCommand/sqlText, conn/
min = CDate/cmd1.ExecuteScalar///
If Not IsDate/min/ Then
min = CType/CDate/"01.01." & myyear/ & " 00:00:00", Date/
End If
fromdate = CType/CDate/min/, Date/

sqlText = "SELECT max/to_date/mydate, 'DD.MM.YYYY'// FROM " & mytable
cmd1 = New NpgsqlCommand/sqlText, conn/
max = CDate/cmd1.ExecuteScalar///
If Not IsDate/max/ Then
max = CType/CDate/"31.12." & myyear/ & " 23:59:59.9999", Date/
End If
todate = CType/CDate/max/, Date/
已邀请:

小明明

赞同来自:

尝试类似的东西:


SELECT max/to_date/nullif/mydatetxt,''/, 'DD.MM.YYYY'//,
min/to_date/nullif/mydatetxt,''/, 'DD.MM.YYYY'//
FROM table_name;

SELECT max/to_date/nullif/mydatetxt,''/, 'DD.MM.YYYY'//,
min/to_date/nullif/mydatetxt,''/, 'DD.MM.YYYY'//
FROM table_name
WHERE date_part/'year',to_date/nullif/mydatetxt,''/, 'DD.MM.YYYY'// = 2012;

要回复问题请先登录注册