易截截图软件、单文件、免安装、纯绿色、仅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 / 疑难问题

场景如下:
客户把备份好的数据库,发给我,我在本机还原后,运行写好的存储过程,比较快,并且在实施那边运行同样比较快。但是当实施在客户那边运行的时候速度就非常的慢,时间超出了程序的时间限制。远程在客户那 ......

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

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

C#和数据库SQL - MS-SQL Server / 基础类

我们C#做一个窗体 往数据库里插入数据
  SqlConnection cn = new SqlConnection("Data Source=20090713-1752\\SQLEXPRESS;Initial Catalog=goods;Integrated Security=True");
  ......

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

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