位置: 编程技术 - 正文
此类问题还可以延伸到类似进销存的批次计算中,这也要关注其他历史记录来决定当前某条记录的状态。sql语句无法简单实现mdx语句的类似功能,必须得用交叉表关联来对比。这里我们用CLR函数来实现mdx语句的类似语法。在select的时候把得到过的做个缓存就可以了。效率应该可以提高不少。clr的代码如下,编译为TestFun.dll,复制到sql服务器的文件目录下。----------------------------------------------------------------------------------------------------------------------------------------------------------------部署和生成自定义函数,其中考虑到并发,我们还是需要一个并发键来表达当前查询 ----------------------------------------------------------------------------------------------------------------------------------------------------------------这样我们就可以使用了,测试脚本如下, xfn_GetPrevMemberValue就是获取上月价格的函数。 ---------------------------------------------------------------------------------- 建立测试环境 -- 测试语句 -- 结果 /* 区域 TradeMonth TradePrice LastMonthPrice 环比 ---- ---------- ---------------------- ---------------------- ----------- 闵行 - . NULL NULL 闵行 - . . 5.% 闵行 - . . 0.% 浦东 - . NULL NULL 浦东 - . . .% 浦东 - . -.% 浦东 - . . .% 普陀 - . NULL NULL 普陀 - . .% 普陀 - .2 -.% */ --------------------------------------------------------------------------------这个函数写的还是比较粗糙,如果进一步改进还可以详细定义如何获取上一个维度的方法。这里只是根据查询顺序来做缓存。感兴趣的朋友可以完善一下。
推荐整理分享SQL2005CLR函数扩展-深入环比计算的详解(sql chr函数),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlldr 函数,sqlceiling函数的用法,sql函数coalesce,sqlceiling函数的用法,sqlceil函数用法,sql clr,sqlldr 函数,sql clr,内容如对您有帮助,希望把文章链接给更多的朋友!
解析SQL中如何使用CLR函数获取行号 SQLServer数据导出到excel有很多种方法,比如dts、ssis、还可以用sql语句调用openrowset。我们这里开拓思路,用CLR来生成Excel文件,并且会考虑一些方便操作
SQL Server 删除日志文件的几种方法小结 使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了。因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增
SQL Server 基础知识详细整理 1.ACID:指数据库事务正确执行的四个基本要素缩写:1.原子性2.一致性3.隔离性4.持久性2.数据库对象:表(table)视图(view)存储过程(storedprocedure)函
标签: sql chr函数
本文链接地址:https://www.jiuchutong.com/biancheng/319412.html 转载请保留说明!上一篇:SQL2005CLR函数扩展-数据导出的实现详解(sqlceil函数用法)
友情链接: 武汉网站建设