`
冷寒冰
  • 浏览: 244817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两个关于周的sql自定义函数

SQL 
阅读更多
两个关于周的sql自定义函数
2009年10月27日 星期二 下午 03:59

--得到指定日期本年对应的周序数,第一周为本年内以周日开始周 周日为一周的第一天
CREATE function WeekOfDay(@Date nvarchar(10))
returns nvarchar(7)
as
begin
declare @DWofYearsDay tinyint,@WeekOfDay tinyint,@Year smallint
set @Year=year(@Date)
set @DWofYearsDay=DATEPART(dw,cast(@Year as nvarchar)+'0101')
if @DWofYearsDay=1
set @WeekOfDay= DATEPART(ww,@Date)
else
set @WeekOfDay= DATEPART(ww,@Date)-1

if @WeekOfDay=0
begin
set @Year=@Year-1
set @WeekOfDay=52
end

return cast(@Year as nvarchar)+'-'+cast(@WeekOfDay as nvarchar)
end


--得到指定某年某周的最大日期,第一周为本年内以周日开始周 周日为一周的第一天
CREATE function MaxDayOfWeek(@Week nvarchar(7))
returns smalldatetime
as
begin
declare @DWofYearsDay tinyint,@Weeks tinyint,@Year nvarchar(4),@MaxDayOfWeek smalldatetime,@Days smallint
set @Year=left(@Week,4)
set @Weeks=substring(@Week,6,2)

set @DWofYearsDay=DATEPART(dw,@Year+'0101')

if @DWofYearsDay=1
set @Days= @Weeks*7
else
set @Days= @Weeks*7+(7-@DWofYearsDay)


set @MaxDayOfWeek=DATEADD (d, @Days, @Year+'0101' )

return @MaxDayOfWeek

end

分享到:
评论

相关推荐

    SQL自定义函数...ppt

    日期和时间函数 GETDATE():返回当前系统日期和时间。 DATEADD(datepart , number, date):在date值上加上... DATEDIFF(datepart , startdate , enddate):返回跨两个指定日期的日期和时间边界数。

    sqlserver自定义函数

    --结合上边两个函数,象数组一样遍历字符串中的元素 create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as ...

    收集整理的SQL Server自定义函数

    收集整理的SQL Server自定义函数,原文地址:http://blog.csdn.net/maco_wang 1.去除字符串中的html标记及标记中的内容 2 2. 去除字符串中连续的分割符 4 3.求第一个字符串中第二个串的个数 6 4.综合模糊查询 6 5....

    SQL中Table类型的数据与用户自定义函数

    SQL Server 2000 新增了Table型数据:Table型数据不能用来定义列的类型,只能用作T-SQL变量或者作为自定义函数的返回值。SQL Server 2000支持两种类型的函数:内置函数和用户定义函数。内置函数只允许T-SQL 语句调用...

    SQLServer自定义字符串聚合函数DLL文件(可直接使用)

    http://yufeng521000.iteye.com/blog/2076607; 根据这篇BOLG的函数编译的DLL,方便大家直接使用; 里面有两个DLL分别是NET3.5,以及NET4.0,下载后根据BOLG以及数据库版本选择对应的DLL使用;

    sqlserver根据经纬度计算两点间距离

    sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离

    hive自定义udf函数实战

    udf函数,用户自定义函数,可以直接在sql语句中计算的函数 优点: 允许实现模块化的程序设计、方便修改代码、增加函数 UDF的执行速度很快,通过缓存计划在语句重复执行时降低代码的编译开销,比存储方法的执行效率...

    mysql获取带毫秒的时间字符串自定义函数

    玛德,mysql没有获取当前毫秒方法,这个自定义函数返回的时间格式为 yyyy-mm-dd hh:mi:ss sss char(23) 通常用于时间戳,防止记录并发修改。 毫秒用的是随机数,目的是防止短时间内两个时间戳值相同

    sqlserver6次实验(2)

    1、写一个自定义函数,该函数返回Northwind数据库中Employees表中HireDate介于两个指定日期之间的人员个数。 2、(1)编写和执行存储过程,将Northwind数据库中的Orders表的指定EmployeeID对应的所有定单的Freight...

    数据库开发SQL Server7.0 和Power Bulider7.0(一)

    全书由两篇构成,分别介绍了两个相关软件的应用。第一篇以6章的篇幅讲解了典型的客户/服务器结构的数据库管理系统SQL Server最新版本7.0 的应用,分别介绍了进入SQL Sever所进行的操作、设置、SQL Sever管理、数据库...

    Sql Server 字符串聚合函数

    不过我们可以通过自定义函数的方式来解决这个问题。1.首先建立测试表,并插入测试数据: 代码如下:create table AggregationTable(Id int, [Name] varchar(10)) go insert into AggregationTable select 1,

    WinCC SQL SERVER 数据库实现数据库同步

    实现两个Sqlserver之间的数据库同步 对实时性有较高要求,数据同步延时尽量在1S之内 可以全库、单表、多表的数据同步 2. 读写分离 数据同步之后程序上就可以通过分别使用不同的DbContext实现程序上的读写分离 3. ...

    经典SQL脚本大全

    │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的星期几的次数-纵.sql │ ...

    Sqlserver2000经典脚本

    │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉表.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的...

    SQL 比较数据库差异

    SQL 比较数据库差异 表,视图,存储过程,用户自定义函数,触发器

    hive-udf(两地址间距离计算+省市区位置解析(Java代码))

    地址转换成经纬度+两地址间距离计算+省市区位置解析(Java代码) Hive自定义函数的封装

    从零开始学SQL_Server

    一套完整的SQLServer PPT学习资料,共有17章,介绍了SQL函数,数据查询,更新,事务,锁,游标,存储过程,自定义函数,视图,触发器等,并列举了图书管理系统和BBS论坛系统开发两个实例。

    SQLServer与Oracle语法差异汇总.docx

    从存储过程 自定义函数格式 游标 变量 赋值 语句结束符 大小写 Select 语法 Update语法 Delete语法 动态SQL语句 TOP用法 等各方面对比两个数据库的差异

    实验9 存储过程的创建和使用

    用户可以像使用自定义函数那样重复调用这些存储过程,实现它所定义的操作。本实验所需数据库为前面实验已经建立好的学生选课管理数据库。 1.编写带输入参数的存储过程proc_St:在查询分析器中创建一个存储过程,...

Global site tag (gtag.js) - Google Analytics