我将此请求用于obtein line,其字段日期等于实际日期,如下所示:
SELECT * FROM TB_VUE_SOLDE WHERE SO_COMPTE_ID = 661 AND SO_DATE = SYSDATE;
有了这个请求我的结果是空的
表TB_VUE_SOLDE:
(63162, 661, 22/01/14, 41188)
字段SO_DATE具有日期类型
当我尝试像这样显示sysdate时:
SELECT SYSDATE "Actual date" FROM DUAL ;
I obtein:2014年1月22日
为什么我不能在第一次请求中反驳结果?
答案 0 :(得分:2)
SYSDATE将包含一个时间元素。
尝试
SELECT * FROM TB_VUE_SOLDE WHERE SO_COMPTE_ID = 661 AND SO_DATE = TRUNC(SYSDATE);
Trunc将删除时间元素。
答案 1 :(得分:0)
如果你做了
alter session set nls_date_format = 'dd/mm/yyyy hh24:mi:ss'
然后执行
SELECT SYSDATE "Actual date" FROM DUAL ;
您会看到sysdate
不仅是一天,还包含小时,分钟和秒。
这就是为什么sysdate很可能是!=
您选择的日期。
答案 2 :(得分:0)
我在日期之前添加了TRUNC,它可以正常工作