如何用sql 返回布尔值

  今天在开发中有一个问题让我很是郁闷,感觉有些内容完全可以写在sql里的内容,如果要是拿到java代码中写,代码量就会很大。如何解决这个问题呢,看我下面一段 sql语法

select  case when (select max(t2.activity_end_time) acttime
                    from product t1 join product_activies t2 on t1.product_code=t2.product_code "+
                     where t1.is_sale=1 
)>sysdate then 1 else 0 end entime from dual

这端sql是返回一个布尔值,查出是否有大于当前时间的最大活动时间,如果有,返回1 没有 返回0

语法其实很简单

select case  when   条件  then  第一种结果  else 另一种结果 end  (如果你还想要个别名的话,这里加字段名) from 表名

我这里是用虚表 dual,这个可以在oracle中,其他数据库中怎么用,那就请大家研究研究了

猜你喜欢

转载自qieyi28.iteye.com/blog/1443313