视图里面能够有条件判断吗,详情请进 ??????????? 要不怎么判断一个月有多少个周一呢?谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 帮帮忙吧,各位大哥,不是很难吧可不可以出一声嘛,唉! fyear、fmonth是varchar型,famount是int型:select * from tttfyear fmonth famount ----- ------ ----------- 2002 1 1002002 2 1002002 3 1002002 4 1002002 5 1002002 12 2002002 9 2002002 7 2002002 11 2002002 6 3002002 8 3002002 10 300select fyear,fmonth, case (--最后一个周一所在星期 datepart(wk, dateadd(d, 1-datepart(dw, dateadd(d,-1,dateadd(mm,1,cast(fyear+'-'+fmonth+'-1' as datetime))) ), dateadd(d,-1, dateadd(mm,1,cast(fyear+'-'+fmonth+'-1' as datetime)) ) ) ) ---第一个周一所在星期 datepart(wk, case when datepart(dw,fyear+'-'+fmonth+'-1')=1 then cast(fyear+'-'+fmonth+'-1' as datetime) else dateadd(d,8-datepart(dw,fyear+'-'+fmonth+'-1'),fyear+'-'+fmonth+'-1') end ) +1--得出本月有几个周一)when 4 then famount*35/30 else famount*30/35 end as famountfrom tttorder by cast(fmonth as int)不知道这样的格式是不是看得清楚点,我自己都晕了~~~可能有更简单的方法吧。其实我觉得不如用一个表来存放这样的数据:年度 月份 有几个周一2002 1 42002 2 4....建这个视图时与这个表关联就行了。这样可能还好做些,也比较好看懂,可能速度也会快些。做一个这样的表也不麻烦了。上面我的写法是可以得到结果,但真是难懂难看。 谢谢,慢慢研究先,呵呵~~~~~~ 问个查询速度问题 库存分批出货 求一SQL 外键中引用列的数目与被引用列的数目不等~~~郁闷了 请教一个SQL语句,谢谢. 关于inserted表取数据的问题 问一个关于SQL从两个数据表查询结果的问题 sql server 执行脚本 数据库中的某个表一直显示查询中!急,在线等 由于执行触发器,登录名 'PC-20140810PMQA\Administrator' 的登录失败。 高分征求一个数据库结构设计方案,很急!详细请进入! 向数据库中Insert数据时,表之间的关系不起作用吗?各位帮帮忙。
可不可以出一声嘛,唉!
----- ------ -----------
2002 1 100
2002 2 100
2002 3 100
2002 4 100
2002 5 100
2002 12 200
2002 9 200
2002 7 200
2002 11 200
2002 6 300
2002 8 300
2002 10 300select fyear,fmonth,
case
(
--最后一个周一所在星期
datepart(wk,
dateadd(d,
1-datepart(dw,
dateadd(d,-1,dateadd(mm,1,cast(fyear+'-'+fmonth+'-1' as datetime)))
),
dateadd(d,-1,
dateadd(mm,1,cast(fyear+'-'+fmonth+'-1' as datetime))
)
)
)
-
--第一个周一所在星期
datepart(wk,
case when datepart(dw,fyear+'-'+fmonth+'-1')=1
then cast(fyear+'-'+fmonth+'-1' as datetime)
else dateadd(d,8-datepart(dw,fyear+'-'+fmonth+'-1'),fyear+'-'+fmonth+'-1')
end
)
+1
--得出本月有几个周一
)
when 4
then famount*35/30
else famount*30/35
end
as famountfrom ttt
order by cast(fmonth as int)不知道这样的格式是不是看得清楚点,我自己都晕了~~~可能有更简单的方法吧。其实我觉得不如用一个表来存放这样的数据:
年度 月份 有几个周一
2002 1 4
2002 2 4
....
建这个视图时与这个表关联就行了。
这样可能还好做些,也比较好看懂,可能速度也会快些。做一个这样的表也不麻烦了。
上面我的写法是可以得到结果,但真是难懂难看。