Postgresql,将文本与日期时间进行比较

Postgresql,将文本与日期时间进行比较,postgresql,Postgresql,我有一个表,有两列“文本”类型,其中一列是格式为10.03.2013的日期。秒是15:45:32格式的时间。由于两者都是文本,我想知道PostgreSQL是否可以将这些字符串与windows日期时间值进行比较 我试图用BETWEEN()获取记录,但什么也没有得到 "(mydate BETWEEN " & fromdate.Date.ToString & _ " AND " & todate.Date.ToString & ") AND _ (myt

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

我试图用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日期时间类型


有什么建议吗?

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

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'

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

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'

这应该是什么语言?为什么不先从单独的日期+时间字段中构造一个时间戳类型的值呢?这是visual basic,我在这里生成字符串之类的命令。第二,因为数据已经存在。或者我理解错了?我可以从显示的数据和输入的数据类型(文本)构造timmestamp吗?如何存储?不要将日期或时间戳存储为文本(或varchar)。从长远来看,这会给你带来很多麻烦。始终使用正确的数据类型。什么是visual basic?视觉人的基本知识:)这应该是什么语言?为什么不先从单独的日期+时间字段中构造一个时间戳类型的值呢?这是visual basic,我在这里生成字符串之类的命令。第二,因为数据已经存在。或者我理解错了?我可以从显示的数据和输入的数据类型(文本)构造timmestamp吗?如何存储?不要将日期或时间戳存储为文本(或varchar)。从长远来看,这会给你带来很多麻烦。始终使用正确的数据类型。什么是visual basic?一个基本的视觉人:)不能让它工作。我错误地表示了讨论中的日期。这些日期的格式为2013年3月10日,无最后一点。这可能是个问题吗?@user973238是的,这可能是个问题。我编辑了答案以适应日期格式。@user973238我指的不是缺点,而是
dd.mm.yyyy
格式。我第一次猜测是美国的
mm.dd.yyyy
。但在你发表评论后,我看到你来自克罗地亚,所以很可能是
dd.mm.yyyy
,就像巴西这里一样。当然,科罗拉多州,谢谢你,我会努力在这种情况下获得结果。我终于明白了:)PostgreSQL太棒了!不能让它工作。我错误地表示了讨论中的日期。这些日期的格式为2013年3月10日,无最后一点。这可能是个问题吗?@user973238是的,这可能是个问题。我编辑了答案以适应日期格式。@user973238我指的不是缺点,而是
dd.mm.yyyy
格式。我第一次猜测是美国的
mm.dd.yyyy
。但在你发表评论后,我看到你来自克罗地亚,所以很可能是
dd.mm.yyyy
,就像巴西这里一样。当然,科罗拉多州,谢谢你,我会努力在这种情况下获得结果。我终于明白了:)PostgreSQL太棒了!