仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 699|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之sql有关日期的完成

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。
--************
--在两个日期局限里所超过那几周前往如:1,2表是第一周和第二周,

declare@aatable(datedatetime,weekdaysint)
declare@iint
set@i=datediff(day,@bdate,@edate)
while(@i>=0)
begin
insert@aa
values(dateadd(day,@i,@bdate),datepart(week,dateadd(day,@i,@bdate)))
set@i=@i-1
end
selectweekdays
into#week
from@AAgroupbyweekdays

--************
--在日期局限里减往周6、周日的天数
createfunctiona(@Sdatedatetime,@Edatedatetime)
returnsint
as
begin
declare@aatable(datedatetime)
declare@iint
set@i=datediff(day,@Sdate,@Edate)
while(@i>=0)
begin
insert@aa
values(dateadd(day,@i,@Sdate))
set@i=@i-1
end
select@i=count(*)from@aawheredatepart(weekday,date)notin(1,7)
return@i

end

--如:selectdbo.A(2004-10-01,2004-10-11)
--前往了局为7

--***********
--输出第几周失掉此周的入手下手、停止日期
declare@FirstDayOfYeardatetime--年^
declare@FirstDayWeekOfYeardatetime--第一周的第一天
declare@BDatedatetime
declare@EDatedatetime

select@FirstDayOfYear=dateadd(yy,datediff(yy,0,getdate()),0)
select@FirstDayWeekOfYear=@FirstDayOfYear-datepart(dw,@FirstDayOfYear)+1

select@EDate=dateadd(ww,@week,@FirstDayWeekOfYear-1)
select@BDate=dateadd(ww,-1,dateadd(dd,1,@EDate))

SET@BDate=convert(datetime,convert(char(10),@BDate,101))
SET@EDate=convert(datetime,convert(char(10),@EDate,101))
我们分析上面的两个操作,都有一个“删除数据”的过程。
老尸 该用户已被删除
沙发
发表于 2015-1-19 17:48:36 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
若相依 该用户已被删除
板凳
发表于 2015-1-24 15:35:31 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
谁可相欹 该用户已被删除
地板
发表于 2015-2-1 20:48:57 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
海妖 该用户已被删除
5#
发表于 2015-2-7 15:00:30 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-22 08:33:46 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
兰色精灵 该用户已被删除
7#
发表于 2015-3-7 00:00:53 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
若天明 该用户已被删除
8#
发表于 2015-3-13 23:04:41 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-20 21:03:39 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表