易截截图软件、单文件、免安装、纯绿色、仅160KB

求一查询SQL语句

表A有如下字段
ID    NAME          TIME1      TIME2
1      呵呵        2010-01    2010-02
2      哈哈        2010-02      NULL
3      嘿嘿        2010-01    2010-01
4      嘻嘻        2010-01      NULL
如这样的数据 TIEM1和TIME2 是VARCAHR型...

我想当穿个参数过来时:如(2010-02)
要先判断 TIME2是不是为空
若是空的  判断 TIME1 是不是等于 '2010-02'
若不为空  判断 TIME2 是不是等于 '2010-02'

可以不可以呢??
如上面的数据当是传'2010-02'时候查出的数据就应该是
1和2




SQL code:
select *
from A
where isnull(time2,time1)='2010-02'


在程序里判断也好啊
或者在存储过程里写

引用
SQL codeselect*from Awhereisnull(time2,time1)='2010-02'

正确

SQL code:
select * from A
where (time2 is null and time1='2010-02') or (time2 is not null and time2='2010-02')

{{-


相关问答:

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

数据以xml格式返回 - MS-SQL Server / 应用实例

从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
   <folder state="unchecked&qu ......

SQL clr - MS-SQL Server / 非技术版

想用SQL CLR做如下的存储过程,但是发现报错: 
{由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。} 
而且如果数据从case 1通过时就是正确的,从case 2通过时错误 
并且在c ......

sqlserver错误 - MS-SQL Server / 疑难问题

sqlserver2005 建立的数据库,与手持pda传输数据,最近突然出现无法传递数据的问题,pda端提示的错误时outofmemoryexception,但是pda上面的容量没有问题,
sqlserver的日子上的错误如下:
日期 2010-1-25 14:45: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号