大侠们,你们好!
我的问题是这样的。先看下面几组数据:
比如今天是2012-07-04号:
序号 日期 物料 库存 进货量 日用量
1 2012-07-04 东北大米 100
2 2012-07-05 东北大米
3 2012-07-06 东北大米
4 2012-07-07 东北大米
5 2012-07-08 东北大米
6 2012-07-09 东北大米
7 2012-07-10 东北大米
8 2012-07-11 东北大米
9 2012-07-12 东北大米
. . .
. . .
. . . 已知7月4号东北大米的库存是100吨,进货量与日用量手工录入,控件为spread,那么,当录入进货量跟日用量之后,比如:进货量为50,日用量为60,当保存之后,那么7月5号的库存就自动得出:100+50-60=90,当录入7月5号的进货量跟日用量时,如:进货量为50,日用量为60,保存之后,那么7月6号的库存就自动得出:90+50-60=80,依此类推。。也可以同时录入所列出日期的进货量与日用量,第二天的库存等于昨天的库存+昨天的进货量-昨天的日用量。
求给出能自动算出第二天的库存的PLSQL代码。谢谢. 我的想法是这样的,先选出前一天库存,进货量,日用量select KC,JHL,RYL into V_KC,V_JHL,V_RYL from A(表)
where to_date(CS_DATE,'yyyy-MM-dd')=to_date(P_DATE,'yyyy-MM-dd')-1
and WL='东北大米' ----P_DATE 指的是录入保存的那天日期。那么,P_KC=V_KC+V_JHL-V_RYL。
但是这样就会报错--文字与格式字符串不匹配。可是我检查了表中cs_date,并没有找出到底错在哪。。
我的问题是这样的。先看下面几组数据:
比如今天是2012-07-04号:
序号 日期 物料 库存 进货量 日用量
1 2012-07-04 东北大米 100
2 2012-07-05 东北大米
3 2012-07-06 东北大米
4 2012-07-07 东北大米
5 2012-07-08 东北大米
6 2012-07-09 东北大米
7 2012-07-10 东北大米
8 2012-07-11 东北大米
9 2012-07-12 东北大米
. . .
. . .
. . . 已知7月4号东北大米的库存是100吨,进货量与日用量手工录入,控件为spread,那么,当录入进货量跟日用量之后,比如:进货量为50,日用量为60,当保存之后,那么7月5号的库存就自动得出:100+50-60=90,当录入7月5号的进货量跟日用量时,如:进货量为50,日用量为60,保存之后,那么7月6号的库存就自动得出:90+50-60=80,依此类推。。也可以同时录入所列出日期的进货量与日用量,第二天的库存等于昨天的库存+昨天的进货量-昨天的日用量。
求给出能自动算出第二天的库存的PLSQL代码。谢谢. 我的想法是这样的,先选出前一天库存,进货量,日用量select KC,JHL,RYL into V_KC,V_JHL,V_RYL from A(表)
where to_date(CS_DATE,'yyyy-MM-dd')=to_date(P_DATE,'yyyy-MM-dd')-1
and WL='东北大米' ----P_DATE 指的是录入保存的那天日期。那么,P_KC=V_KC+V_JHL-V_RYL。
但是这样就会报错--文字与格式字符串不匹配。可是我检查了表中cs_date,并没有找出到底错在哪。。
这样要求检查所有的数据是不是符合"YYYY-MM-DD"的格式,且不能有空字符串
To_Char(to_date(CS_DATE),'yyyy-MM-dd')=To_Char(To_Date(DATE)-1,'yyyy-MM-dd')
我不知你所说的空值是不是指的是cs_date的这个字段,这个字段的值都是有值的,而且值都是以yyyy-mm-dd存放的。
你好,把日期字段定义为date型也试过了,出现的问题是无效的月份。。
Select sum(進貨量),(日用量) from table_name where 日期<=to_date('????-??-??','yyyy-mm-dd');
你好,我知道是日期格式出了问题。但真找不出是哪个日期,cs_date这个字段的值都是以yyyy-mm-dd存放的。库存字段不能去掉。它是用来记录往后每一天的数据的。至于你说的sum(进货量),我建议你还是重新看清楚我的题目。
那麼計算公式很簡單:初始庫存量+SUM(進貨量)-SUM(日用量)= 當天的庫存量,計算條件就是該天日期。