1

所以由于某种原因 oracle sql 不喜欢这样:

select count(DEPARTURE_DATE) as DEPARTURES_THIS_MONTH
 from DEPARTURE_DATES
 where to_char(DEPARTURE_DATES.DEPARTURE_DATE, 'MMYYYY') = to_char(date('2014-10-11 00:00:00'), 'MMYYYY')

谁能看到这是什么问题?我已经花了 30 分钟看这个,但无法弄清楚它是关于什么的......

ORA-00936: missing expression
4

2 回答 2

3

date不是 Oracle 中的函数,因此to_char(date('2014-10-11 00:00:00'), 'MMYYYY')没有任何意义。

但是,有一个to_date函数的作用类似于 的倒数to_char

而不是date('2014-10-11 00:00:00'),这样的事情应该起作用:

TO_DATE('2014-10-11 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
于 2014-11-25T18:26:22.903 回答
1

Oracle中没有date函数,虽然有to_date()

你可能想要这个:

select count(DEPARTURE_DATE) as DEPARTURES_THIS_MONTH
 from DEPARTURE_DATES
 where to_char(DEPARTURE_DATES.DEPARTURE_DATE, 'MMDDYYYY') = '11102014';

将字符串转换为日期然后再转换回字符串是没有意义的。格式掩码中的“DD”部分被遗漏了,你可能也想要。

于 2014-11-25T18:28:52.760 回答