比较文本类型日期并选择大于日期

时间:2019-10-16 14:37:11

标签: postgresql

我有一个表,其列(last_update_date)的数据类型为文本。因此,我需要传递一个日期,然后从表中选择大于日期的数据。

我尝试了以下查询,

select batch_uuid,result 
from @this 
where extract_status = 'success' 
  and last_update_date > '02/21/2019'

但是上述查询不起作用。 请提供任何建议。

1 个答案:

答案 0 :(得分:0)

您需要将两个字符串都转换为日期以进行比较:

select batch_uuid,result 
from mytable
where 
    extract_status = 'success' 
    and to_date(last_update_date, 'mm/dd/yyyy') > to_date('02/21/2019', 'mm/dd/yyyy')

注意:

  • @this无效,我将其更改为mytable
  • 请考虑将日期存储在类似日期的数据类型中;使用字符串数据类型 会以多种方式咬你(首先,使用类似to_date()的函数会破坏该列上的现有索引)