背景:我们使用python和xlrd模块提取数百个excel文档,并将这些结果放入Postgres 8.4数据库中。问题是 excel 将日期时间存储为一个疯狂的浮点数,它是从现在到 1900 年 12 月 31 日之间的天数的比率。通常,浮点数的最后一位有效数字会被切断,这可能会使我们的日期相差多达 35 天。
http://office.microsoft.com/en-us/excel-help/datevalue-HP005209044.aspx
因此,我们更改了流程,日期时间以这种格式作为字符串存储在 excel 文档中。 2014 年 3 月 31 日 00:00:00
然后,这些列被翻录并作为字符变化列摄取到 postgres 数据库中。但是现在是查询的问题。我知道一种可能的解决方案是添加一个额外的列并将日期转换为 postgres dtm 值。
我的问题是,我可以根据 postgres 中字符串的一部分查询和返回结果吗?例如,如果我想在 23 Feb 2013 上拉取所有条目,我可以这样做
吗SELECT * FROM finance_table WHERE date_value contains? = "23-FEB-2013'
按照您的要求,这是我的答案格式的评论:
您需要使用 LIKE
.对于您的查询,您将使用类似于以下内容的内容:WHERE date_value LIKE '%23-FEB-2014%'
。%
匹配零个或多个字符,因此对包含有效。LIKE 的另一个通配符是 _
它只匹配一个字符。