仓酷云

标题: MSSQL教程之求日期所属星座的 T-SQL UDF (用户自定... [打印本页]

作者: 小妖女    时间: 2015-1-16 22:38
标题: MSSQL教程之求日期所属星座的 T-SQL UDF (用户自定...
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。函数
usenorthwind
go
CREATEFUNCTIONGetStar(@datetime)
RETURNSvarchar(100)
AS
BEGIN
--仅一句SQL弄定
RETURN
(
--declare@datetime
--set@=getdate()
selectmax(star)
from
(
--星座,该星座入手下手日期所属月,该星座入手下手日期所属日
select魔羯座asstar,1as[month],1as[day]
unionallselect水瓶座,1,20
unionallselect双鱼座,2,19
unionallselect牧羊座,3,21
unionallselect金牛座,4,20
unionallselect双子座,5,21
unionallselect巨蟹座,6,22
unionallselect狮子座,7,23
unionallselect童贞座,8,23
unionallselect天秤座,9,23
unionallselect天蝎座,10,24
unionallselect弓手座,11,22
unionallselect魔羯座,12,22
)stars
wheredateadd(day,[day]-1,dateadd(month,[month]-1,dateadd(year,datediff(year,0,@),0)))
=
(
selectmax(dateadd(day,[day]-1,dateadd(month,[month]-1,dateadd(year,datediff(year,0,@),0))))
from
(
select魔羯座asstar,1as[month],1as[day]
unionallselect水瓶座,1,20
unionallselect双鱼座,2,19
unionallselect牧羊座,3,21
unionallselect金牛座,4,20
unionallselect双子座,5,21
unionallselect巨蟹座,6,22
unionallselect狮子座,7,23
unionallselect童贞座,8,23
unionallselect天秤座,9,23
unionallselect天蝎座,10,24
unionallselect弓手座,11,22
unionallselect魔羯座,12,22
)stars
where@>=dateadd(day,[day]-1,dateadd(month,[month]-1,dateadd(year,datediff(year,0,@),0)))
)
)
end

go
--测试
usenorthwind
selectdbo.getstar(birthdate),count(*)
fromemployees
groupbydbo.getstar(birthdate)

对于update操作,只需要把event中的旧行和新行值对调即可。
作者: 蒙在股里    时间: 2015-1-19 19:50
大家注意一点。如下面的例子:
作者: 透明    时间: 2015-1-28 10:11
总感觉自己还是不会SQL
作者: 仓酷云    时间: 2015-2-5 20:32
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
作者: 飘灵儿    时间: 2015-2-13 13:16
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
作者: 因胸联盟    时间: 2015-3-3 21:50
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
作者: 飘飘悠悠    时间: 2015-3-18 22:26
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
作者: 愤怒的大鸟    时间: 2015-3-26 19:48
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2