Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 如何根据单独列中的月份和年份参数对DB2结果进行排序_Sql_Date_Db2 - Fatal编程技术网

Sql 如何根据单独列中的月份和年份参数对DB2结果进行排序

Sql 如何根据单独列中的月份和年份参数对DB2结果进行排序,sql,date,db2,Sql,Date,Db2,我正在使用DB2 我有一个以以下格式返回特定日期的查询:yyyy-mm-dd SELECT DATE FROM ABC.DTS 然后我设计了另一个查询,它应该返回与上面返回的日期匹配的结果 SELECT COUNT(*) FROM ABC.ATY WHERE ID between 1 and 1000000000 AND MONTH(PRS) = MONTH(from DTS) AND YEAR(PRS) = YEA

我正在使用DB2

我有一个以以下格式返回特定日期的查询:yyyy-mm-dd

  SELECT DATE FROM ABC.DTS
然后我设计了另一个查询,它应该返回与上面返回的日期匹配的结果

SELECT COUNT(*)                           
FROM   ABC.ATY
WHERE  ID between 1 and 1000000000   
AND MONTH(PRS) = MONTH(from DTS)    
AND YEAR(PRS) = YEAR(from DTS)    
AND CKPYE = ' '
;
当我运行第二个查询时,发现一个错误,该查询显示:
非法符号“MONTH”。一些可能合法的符号是:xmlementxmlpi。SQLCODE=-104,SQLSTATE=42601,DRIVER=4.19.56。

如何返回与第一次查询返回的日期匹配的结果

我是否需要另一种路线/策略来代替我目前正在尝试的路线/策略


非常感谢。

看看这是否适合您:

SELECT COUNT(*)                           
FROM   ABC.ATY
JOIN ABC.DTS ON MONTH(PRS) = MONTH(Date) AND YEAR(PRS) = YEAR(DATE)
WHERE  ID between 1 and 1000000000   
AND CKPYE = ' '
;

你不应该加入表ABC.DTS吗?另外,
PRS
的数据类型是什么?我想我需要某种类型的连接,你能具体说明哪种类型吗?PRS的类型是DateTimeThank,但它不起作用。收到此错误:日期在使用它的上下文中无效。SQLCODE=-206,SQLSTATE=42703,DRIVER=4.19.56这将告诉我
Date
字段实际上不是一个列。。。您可以发布两个表的表架构吗?这也是一个保留字,所以这可能是这里的另一个问题。等等,我很抱歉,哈哈,这确实有效!为了发布这篇文章,我更改了一些表名,但在查询更改的列名以保护无辜者时忘记了更改一个表名。:-)酷!