Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql oracle日期时间未正确比较_Sql_Oracle_Datetime_Oracle11g_Oracle10g - Fatal编程技术网

Sql oracle日期时间未正确比较

Sql oracle日期时间未正确比较,sql,oracle,datetime,oracle11g,oracle10g,Sql,Oracle,Datetime,Oracle11g,Oracle10g,我在做两天的比较 2016年1月1日21:01:00和2015年12月31日00:12:00 使用此代码,结果应为1,但显示为0 select case when ('01/01/2016 21:01:00' >= (to_char(trunc(sysdate,'YEAR')-1 ,'dd/mm/yyyy HH24:MM:SS') ) ) then 1 else 0 end as Result FROM dual 有人能告诉我哪里做错了吗?您正在比较字符串而不是日期: select

我在做两天的比较 2016年1月1日21:01:00和2015年12月31日00:12:00 使用此代码,结果应为1,但显示为0

select 
case when ('01/01/2016 21:01:00'  >= (to_char(trunc(sysdate,'YEAR')-1  ,'dd/mm/yyyy HH24:MM:SS') )
)
then 1 else 0 end as Result
FROM dual

有人能告诉我哪里做错了吗?

您正在比较字符串而不是日期:

select case
       when TO_DATE( '2016-01-01 21:01:00', 'YYYY-MM-DD HH24:MI_SS' )
            >= trunc(sysdate,'YEAR')-1
       then 1
       else 0
       end as Result
FROM   dual

您正在比较字符串而不是日期:

select case
       when TO_DATE( '2016-01-01 21:01:00', 'YYYY-MM-DD HH24:MI_SS' )
            >= trunc(sysdate,'YEAR')-1
       then 1
       else 0
       end as Result
FROM   dual

比较一下这些年怎么样

select (case when substr('01/01/2016 21:01:00', 7, 4) >= to_char(sysdate - interval '1' year, 'YYYY')
             then 1 else 0
        end) as Result
FROM dual;

你的逻辑是日期和字符逻辑的大杂烩。

比较年份如何

select (case when substr('01/01/2016 21:01:00', 7, 4) >= to_char(sysdate - interval '1' year, 'YYYY')
             then 1 else 0
        end) as Result
FROM dual;
您的逻辑是日期和字符逻辑的大杂烩。

选择大小写 何时到字符(到日期('2016-01-01 21:01:00','YYYY-MM-DD HH24:MI_SS'),'yy')+0>=到字符(系统日期,'yy')-1 那么1 其他0 结果 来自双重

选择案例 何时到字符(到日期('2016-01-01 21:01:00','YYYY-MM-DD HH24:MI_SS'),'yy')+0>=到字符(系统日期,'yy')-1 那么1 其他0 结果
来自双重

比较字符串,而不是日期。比较字符串,而不是日期。