请各位大虾帮我写个SQL语句,在线等,急急急急急急急急! select greatest(to_date('2002-02-06','YYYY-MM-DD'),to_date('2002-02-05','YYYY-MM-DD'),to_date('4562-02-05','YYYY-MM-DD')) from dual 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道了:SELECT GREATEST(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),0) ,NVL(TO_CHAR(DATE2 ,'YYYY/MM/DD'),0) ,NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),0) ) FROM TABLE_NAME谢谢 select DECODE(DATE1,NULL,'写一个最小值') from dual 不行了!又有问题了!以上取得都是 DATE1 DATE2 DATE3 中的最大日期!还有一个条件是在SELE_DATE之前呀应该怎么写呀?请大侠们帮忙 加条件where (SELE_DATE > DATE1) and (SELE_DATE > DATE2) and (SELE_DATE > DATE3) 不行呀!DATE1 DATE2 DATE3 可以为空加条件where (SELE_DATE > DATE1) and (SELE_DATE > DATE2) and (SELE_DATE > DATE3)后查询的结果不正确请大侠执教 where to_char(sele_date,'yyyy/mm/dd') > nvl(to_char(date1,'yyyy/mm/dd'),'1900/01/01').................................. 其实这条where子句怎么写都不对,例如date1 date2 date31998/01/12 2002/09/12 2000/12/012002/05/01 1999/11/13 2001/03/122000/05/23 2001/03/06 2002/10/23你自己想想如果SELE_DATE的值为2002/01/01的话,现在的Where子句根本就不可能给你想要的数据如果非要用一条SQL语句来实现,我的想法是自己写个函数来解决这个问题如果不用一条SQL来实现的话就简单多了,这也不用我多说了 XieHK() 说得对!请各位在帮我想一想:SELECT GREATEST(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01') ,NVL(TO_CHAR(DATE2 ,'YYYY/MM/DD'),'1900/01/01') ,NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),'1900/01/01') ) GREAT_NYUSHABI FROM TABLEWHERE NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01') <TO_DATE(SELE_DATE) AND NVL(TO_CHAR(DATE2,'YYYY/MM/DD'),'1900/01/01') <TO_DATE(SELE_DATE) AND NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),'1900/01/01') <TO_DATE(SELE_DATE)不对呀!!WHERE 条件根本就不起作用呀!不能取出SELE_DATE之前的最大的日期,再SELE_DATE之后的也取出来了!请高手帮忙!! 你的where条件处可以这样写:WHERE TO_DATE(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01'),'YYYY/MM/DD') <TO_DATE(TO_CHAR(SELE_DATE,'YYYY/MM/DD')) AND...... 不知楼主是怎么解决的!?我认为只有两个都是DATE型才可比较! 如何合理的选择表结构? Oracle occi jobs脚本中'TRUNC(SYSDATE+1)的意思是什么? [求助]rman配置过程中的一条指令 系统提示“ora-00054:资源正忙,要求指定NOWAIT”, oracle创建复杂的树形视图 请教一下oracle数据文件的扩展名 .DBF 和 .ora 有什么区别 Oracle中的数据库监听器? 新手提问-请帮忙,有关存贮过程 求救!本地机无法启动OracleOrahome90ManagementServer服务 高难度SQL,请各路大侠指教? 请问限制结果集行数的sql怎写阿
SELECT GREATEST(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),0)
,NVL(TO_CHAR(DATE2 ,'YYYY/MM/DD'),0)
,NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),0)
)
FROM TABLE_NAME谢谢
以上取得都是 DATE1 DATE2 DATE3 中的最大日期!
还有一个条件是在SELE_DATE之前呀应该怎么写呀?
请大侠们帮忙
where (SELE_DATE > DATE1) and (SELE_DATE > DATE2) and (SELE_DATE > DATE3)
DATE1 DATE2 DATE3 可以为空
加条件
where (SELE_DATE > DATE1) and (SELE_DATE > DATE2) and (SELE_DATE > DATE3)后
查询的结果不正确
请大侠执教
例如
date1 date2 date3
1998/01/12 2002/09/12 2000/12/01
2002/05/01 1999/11/13 2001/03/12
2000/05/23 2001/03/06 2002/10/23你自己想想如果SELE_DATE的值为2002/01/01的话,现在的Where子句根本就不可能给你想要的数据
如果非要用一条SQL语句来实现,我的想法是自己写个函数来解决这个问题
如果不用一条SQL来实现的话就简单多了,这也不用我多说了
请各位在帮我想一想:
SELECT GREATEST(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01')
,NVL(TO_CHAR(DATE2 ,'YYYY/MM/DD'),'1900/01/01')
,NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),'1900/01/01')
) GREAT_NYUSHABI
FROM TABLE
WHERE NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01')
<TO_DATE(SELE_DATE)
AND NVL(TO_CHAR(DATE2,'YYYY/MM/DD'),'1900/01/01')
<TO_DATE(SELE_DATE)
AND NVL(TO_CHAR(DATE3 ,'YYYY/MM/DD'),'1900/01/01')
<TO_DATE(SELE_DATE)
不对呀!!WHERE 条件根本就不起作用呀!不能取出SELE_DATE之前的最大的日期,再SELE_DATE之后的也取出来了!请高手帮忙!!
WHERE TO_DATE(NVL(TO_CHAR(DATE1 ,'YYYY/MM/DD'),'1900/01/01'),'YYYY/MM/DD')
<TO_DATE(TO_CHAR(SELE_DATE,'YYYY/MM/DD')) AND......
我认为只有两个都是DATE型才可比较!