| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 686 人关注过本帖
标题:sql多种情况返回一个值问题
只看楼主 加入收藏
dephy
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-28
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
sql多种情况返回一个值问题
表 字段  ID date1 date2 date3 day

如果date3为空,date2不为空, day= ((Now-date2)+(date2-date1))/365;
如果date3不为空,date2为空, day= (date3-date1)/365;
sql怎么写
搜索更多相关主题的帖子: sql 
2009-10-15 09:03
Vitamin1999
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:66
注 册:2009-9-23
收藏
得分:5 
日期是不能直接相加减的,你必须指定是什么相加减,是日期,月份还是年份之类的,看你的题意,应该是日期之间的换算吧,以下是SQL

select case
        when date3 is null and date2 is not null then (datediff(dd,date2,getDate()))+(datediff(dd,date1,date2))/365
        when date3 is not null and date2 is null then (datediff(dd,date1,date3))/365
        end as day
from 表
2009-10-15 10:27
我是傻逼
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:12
注 册:2009-10-12
收藏
得分:5 
select case when date3 is null then (case when date2 is not null then ((Now-date2)+(date2-date1))/365)
           else (case when data2 is not null then (date3-date1)/365) end as day from table where.....
2009-10-16 20:47
快速回复:sql多种情况返回一个值问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022348 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved