1

我有一个包含两列“文本”类型的表格,其中一列是格式为 10.03.2013 的日期。第二个是格式为 15:45:32 的时间。由于两者都是文本,我想知道 PostgreSQL 是否可以将这些字符串与 windows DateTime 值进行比较。

我试图用 BETWEEN() 获取记录,但什么也没得到。

"(mydate BETWEEN " & fromdate.Date.ToString & _
       " AND " & todate.Date.ToString & ") AND _
 (mytime BETWEEN " & fromdate.TimeOfDay.ToString & _
       " AND " & todate.TimeOfDay.ToString & ")"

mydate 和 mytime 是列,而 fromdate 和 to date 是 Windows 日期时间类型。

有什么建议吗?

4

1 回答 1

4

将这些列转换为时间戳类型:

select ...
from ...
where
    to_timestamp(mydate || mytime, 'DD.MM.YYYYHH24:MI:SS') between
        '2012-01-20 10:23:12'
        and
        '2012-01-20 11:47:03'
于 2013-01-01T22:43:29.693 回答