我有一个数据库收集名为PARTS
的数据,一列名为TM_DLVRY
。 TM_DLVRY
存储以此格式投放内容的所有日期:MM/DD/YYYY
。我需要在每个月的第一天检索交货,因为我正在制作图表。
我尝试了以下内容:
SELECT TM_DLVRY
FROM PARTS
WHERE DATEFROMPARTS(Year(TM_DLVRY), Month(TM_DLVRY), 1) ;
我读到了我能找到的与此类似的所有其他问题,但没有一个问题让我得到了我想要的东西。
我不习惯在SQL Developer中编写SQL,所有这些都来自MS Access。之前,在MS Access中,我可以使用DateSerial(,, 1)来实现这一点,但现在我必须为SQL Developer重写所有内容,而且我的启动速度很慢。建议?
答案 0 :(得分:0)
SELECT TM_DLVRY
FROM PARTS
WHERE TM_DLVRY.Day=1;
或
SELECT TM_DLVRY
FROM PARTS
WHERE EXTRACT(DAY FROM TM_DLVRY)=1;
这是你想要的吗? SQL中的WHERE应该是某种等价语句。
答案 1 :(得分:0)
如果要将TM_DLVRY转换为该月的第一天,则需要将DATEFROMPARTS移动到select语句中。但实际上你根本不需要它。
您也可以在该声明中进行一些数学/计数,例如尝试:
SELECT to_char(TM_DLVRY,'yyyy') as Year, to_char(TM_DLVRY,'mm') as month, COUNT(TM_DLVRY) as monthly count
FROM PARTS
GROUP BY to_char(TM_DLVRY,'yyyy'), to_char(TM_DLVRY,'mm');