Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检索日期时结果错误_Sql_Postgresql - Fatal编程技术网

Sql 检索日期时结果错误

Sql 检索日期时结果错误,sql,postgresql,Sql,Postgresql,我在用PostgreSQL。我有两个数据库表,我想获取存储在table1 daterange列中的最小和最大日期,该列的类型为字符变化。表1和表2使用sid进行映射。当与表2的sid进行比较时,我想得到表1的最大和最小日期范围。请找到演示。结果是错误的 表1: sid daterange 100 5/25/2017 101 1/24/2017 102 4/4/2014 103 11/12/2007 104 4/24/2012 105 01/15/2017 106 1/1/2

我在用PostgreSQL。我有两个数据库表,我想获取存储在table1 daterange列中的最小和最大日期,该列的类型为字符变化。表1和表2使用sid进行映射。当与表2的sid进行比较时,我想得到表1的最大和最小日期范围。请找到演示。结果是错误的

表1:

sid  daterange  

100  5/25/2017
101  1/24/2017
102  4/4/2014
103  11/12/2007
104  4/24/2012
105  01/15/2017
106  1/1/2017
107  3/11/2016
108  10/10/2001
109  1/10/2016
110  12/12/2016
111  4/24/2017
112  06/28/2015
113  5/24/2017
114  5/22/2017
表2:

sid  description

100  success
101  pending
104  pending
105  success
106  success
107  success
110  success
111  pending
112  failed
113  failed
114  pending
以下是我的疑问:

select min(daterange) as minDate,max(daterange) as maxDate from (SELECT to_date(table1.daterange, 'DD/MM/YYYY') as daterange FROM table1,table2 where 
      table1.sid = table2.sid) tt;
结果如下所示,显示的是错误的MinDate和maxdate是错误的日期

mindate     maxdate
2013-12-07  2019-01-07

请给我一些建议。表1中的daterange列的类型为character Variable。我无法使用::date转换为date类型,因为我需要在java hibernate代码中使用此查询,而java代码无法识别::

日期格式字符串中的日期和月份混淆了。 应该是
to_datetable1.daterange,“MM/DD/YYYY”

为什么结果错误…是否希望每个sid都有一个结果?否。我的意思是显示的最小和最大日期错误。