sql - 如何在sql中的oracle数据库表中从月份名称中选择值
问题描述
我想将我的数据库表日期列逐月计算,并想逐月计算数据但是,我一次又一次地收到此错误
SQL> desc fac_cus_chd
Name Null? Type
----------------------------------------- -------- ----------------------------
FDC NOT NULL VARCHAR2(9)
WHDATE NOT NULL DATE
SL_NO NOT NULL NUMBER(3)
ITEMCODE NOT NULL VARCHAR2(11)
DECCODE NOT NULL VARCHAR2(15)
GRADE NOT NULL VARCHAR2(1)
QTY NOT NULL NUMBER(9,2)
UNIT NOT NULL VARCHAR2(6)
CARTON VARCHAR2(5)
UPRICE NUMBER(9,2)
UPT VARCHAR2(1)
CARTON_DET VARCHAR2(5)
SQL> select SUM(QTY)
from fac_cus_chd
where whdate between to_date(to_char('01-JAN-2019', 'DD-MM-YYYY'), 'Month') AND to_date(to_char('31-DEC-2019', 'DD-MM-YYYY') ;
2 /
select to_date(to_char('WHDATE', 'DD-MM-YYYY'), 'Month') from fac_cus_chd
*
ERROR at line 1:
ORA-01722: invalid number
SQL>
我想要像这样的价值
Month Qty
Jan 200000
Feb 33,0000
Mar 34,0000
APR 32293
May 242434
JUN 24242
JUL 24234
AUG 232423
SEP 242432
OCT 232342
NOV 33423
DEC 3233333
解决方案
删除包含WHDATE
. TO_DATE() 也不会直接转换列,而是以DD-MM-YYYY
下面给出的格式读取数据,这样可以确保像这样读取数据并转换为 oracle 的默认日期格式
TO_DATE(WHDATE, 'DD-MM-YYYY')
TO_CHAR(WHDATE, 'MON')
//this will give the desired
推荐阅读
- perforce - Perforce&Swarm:提交更改后文件从工作区中删除
- arduino - 如何使用 Google Drive REST API v3 执行分段上传
- javascript - 从 node.js 应用程序到达 gmail 时,长链接被破坏
- git - 当我尝试使用 SSH 密钥第一次访问时,Git 客户端询问密码
- javascript - Mocha async afterEach 钩子不等待
- wso2 - WSO2 Identity Server 5.9.0 在集群设置中因以下数据库错误而崩溃?
- javascript - Does Dragula accepts buffer the answer?
- ruby-on-rails - Rails 十进制字段未正确保存
- matlab - Matching PCA output to corresponding coordiantes
- amazon-s3 - AWS cli is giving "expected string or bytes-like object"