[英]How to subtract a number from date parameter in Sql
I wana pick Rate from a table for previous day. 我想从表格中选择前一天的费率。 What I am doing is to to subtract 1 form date parameter but after executing this query I am getting an error "ORA-00932: inconsistent datatypes: expected DATE got NUMBER".Kindly guide me how to overcome this error.
我正在做的是减去1个表单日期参数,但是执行此查询后,我得到一个错误“ ORA-00932:不一致的数据类型:预期的日期为NUMBER”。请指导我如何克服此错误。 Thanks in advance.
提前致谢。 My Sample query is:
我的样本查询是:
SELECT CCY_RATE.MID_REVAL_RATE
FROM curr_currency_market_his CCY_RATE
WHERE CCY_RATE.CURR_ID = a.CCY_BOUGHT
AND CCY_RATE.CURRENCY_MARKET = 1
AND CCY_RATE.LEAD_COMPANY = 1
AND CCY_RATE.BANKING_DATE =:Report_date -1
You can try below query to get previous day: 您可以尝试通过以下查询获取前一天的信息:
SELECT CCY_RATE.MID_REVAL_RATE
FROM curr_currency_market_his CCY_RATE
WHERE CCY_RATE.CURR_ID = a.CCY_BOUGHT
AND CCY_RATE.CURRENCY_MARKET = 1
AND CCY_RATE.LEAD_COMPANY = 1
AND CCY_RATE.BANKING_DATE =DATEADD(DD, DATEDIFF(DY, 0, :Report_date), -1);
Use DATE_SUB to remove time 使用DATE_SUB删除时间
SELECT CCY_RATE.MID_REVAL_RATE
FROM curr_currency_market_his CCY_RATE
WHERE CCY_RATE.CURR_ID = a.CCY_BOUGHT
AND CCY_RATE.CURRENCY_MARKET = 1
AND CCY_RATE.LEAD_COMPANY = 1
AND CCY_RATE.BANKING_DATE = DATE_SUB(:Report_date, INTERVAL 1 DAY)
Here you're saying that you want to remove '1 day' from your :Report_date
. 在这里,您说的是要从
:Report_date
删除“ 1天”。
Hope it helps. 希望能帮助到你。
Try this : 尝试这个 :
SELECT CCY_RATE.mid_reval_rate
FROM curr_currency_market_his CCY_RATE
WHERE CCY_RATE.curr_id = a.ccy_bought
AND CCY_RATE.currency_market = 1
AND CCY_RATE.lead_company = 1
AND Cast(CCY_RATE.banking_date AS DATE) >= Cast(report_date - 1 AS DATE)
If you want to get this done through mysql, try this, 如果您想通过mysql完成此操作,请尝试此操作,
DATEDIFF(DAY, DATEADD(day, -1, @CreatedDate), GETDATE())
If not working, then you can calculate the date through php and pass the actual date. 如果不起作用,则可以通过php计算日期并传递实际日期。 To calculate the date through php try this :
要通过php计算日期,请尝试以下操作:
date('Y-m-d', strtotime('-1 day', strtotime(report_date))));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.