SQL(ORACLE)中的条件和is not null问题
IF( '111 '   IS   NOT NULL){	 
 	IF(strV = 「1」 ) 
 	{       
 	strV  LIKE      SUBSTR(   strV ,1,1) +’%’    
 	} 
 	ELSE IF(strV = 「1」 ) 
 	{ 
 	strV  LIKE      SUBSTR(strV ,1,1) +’%’    
 	} 
 }   
 以上这段逻辑,写在sql的where部分,怎么写,我试着写了一下,碰到两个问题:   
 第一、case    '111 '   when   is   not   null....或者case    '111 '   when   not   null都会说is   not   null语法不对。   
 第二、SUBSTR( '111 ',1,1) +’%’   这样他不认识百分号,应该怎么写   
 哪位高手帮我完整的翻译一下,谢谢
------解决方案--------------------楼主oracle的版本是9i以上的吗?? 
 8i不支持case when。
------解决方案--------------------如果楼主写的是WHERE子句的过滤条件,那么用函数decode()应该能解决楼主的问题,希望楼主用自然语言表达一下自己的想法,你写的东西 ,看不明白,呵呵
------解决方案--------------------1、如果不支持CASE ... WHEN ... 用DECODE()   
 2、SUBSTR( '111 ',1,1) ||  '% '
------解决方案--------------------strV like DECODE( '111 ',NULL,strV,DECODE(strV,1,SUBSTR(strV,1,1)|| '% ',NULL))
------解决方案--------------------在where子句里用or 
 比如select 1 from dual where ( '123 ' is null and 1=1) or ( '123 ' is not null and 1 <> 1)
------解决方案--------------------1.case when  '111 ' is not null then  '0 ' end 
 2.SUBSTR( '111 ',1,1) ||  '% '
------解决方案--------------------没有看懂楼主想做啥 
 -_-