SELECT DISTINCT
TO_CHAR(CREATION_DATE,'MONTH') creation_month
FROM
AP_INVOICES_ALL;
此查询正确检索月份。但是,如果我在where子句中传递月份,它就不会检索数据。
SELECT DISTCINT
TO_CHAR(CREATION_DATE, 'MONTH') CREATION_MONTH
FROM
AP_INVOICES_ALL
WHERE
TO_CHAR(CREATION_DATE, 'MONTH') = 'MARCH';
请协助。我需要在一个报告中将月份作为参数传递。
答案 0 :(得分:3)
这是private void label_MouseDown()
var watch = System.Diagnostics.Stopwatch.StartNew();
double elapsedMs = watch.ElapsedMilliseconds;
if (elapsedMs > 2500)
{
////codes here
}
格式的已知问题。字符串用字符填充。
相反,请使用'MONTH'
。看看这个:
'MON'
第一个select to_char(sysdate, 'MONTH'),
(case when to_char(sysdate, 'MONTH')= 'APRIL' then 1 else 0 end),
to_char(sysdate, 'MON'),
(case when to_char(sysdate, 'MON')= 'APR' then 1 else 0 end)
from dual;
表达式返回0 - 不匹配。第二个返回1,表示它们匹配。
答案 1 :(得分:0)
我认为仅仅过了一个月,没有一年,这不是一个好主意。而将日期视为日期,将日期与日期等进行比较会更好。我可以建议以下内容吗?
SELECT TO_CHAR(creation_date, 'MONTH') AS creation_month
FROM ap_invoices_all
WHERE TRUNC(creation_date, 'MONTH') = DATE'2018-03-01';
TRUNC()
日期到月份将返回午夜的第一个月类型DATE
的值。然后,您可以使用常规的Oracle DATE
值或ANSI DATE
文字进行比较。
希望这有帮助。