我有一个问题与这个sql:
select DATE_FIELD from table where
DATE_FIELD >= to_date(to_char(sysdate, 'yyyy/mm/dd'), 'yyyy/mm/dd')
and
DATE_FIELD <= to_date(to_char(sysdate, 'yyyy/mm/dd')+1, 'yyyy/mm/dd')
我想要今天00:00:00到明天00:00:00的日期。
DATE_FIELD字段的DATA TYPE是DATE
在Tora/Toad中工作,在php中不工作。
错误代码:
PHP Warning: oci_execute(): ORA-01722: invalid number
您的查询:
select DATE_FIELD
from table
where DATE_FIELD >= to_date(to_char(sysdate, 'yyyy/mm/dd'), 'yyyy/mm/dd') and
DATE_FIELD <= to_date(to_char(sysdate, 'yyyy/mm/dd')+1, 'yyyy/mm/dd')
----------------------------------------------------------^
我不知道这将在任何地方工作,因为to_char( . . . ) + 1
应该失败。嗯,我可以想象一个神秘的设置,它可以识别'yyyy/mm/dd'
日期格式并将字符串转换回日期以添加1。
我建议更简单的:
where DATE_FIELD >= trunc(sysdate) and DATE_FIELD < trunc(sysdate + 1)