背景:我们使用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中字符串的部分返回结果。例如,如果我想在2013年2月23日提取所有条目,我可以这样做吗
SELECT * FROM finance_table WHERE date_value contains? = "23-FEB-2013'
答案 0 :(得分:3)
根据您的要求,这是我在答案格式中的评论:
您想要使用LIKE
。如果是您的查询,您将使用类似于WHERE date_value LIKE '%23-FEB-2014%'
的内容。 %
匹配零个或多个字符,因此它对包含有效。 LIKE的另一个通配符是_
,它只匹配一个字符。