首页 / MYSQL / 经典SQL自定义函数
经典SQL自定义函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了经典SQL自定义函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1245字,纯文字阅读大概需要2分钟。
内容图文
![经典SQL自定义函数](/upload/InfoBanner/zyjiaocheng/558/fe69564f136a4b37977487f3e69c027e.jpg)
1、确定某年某月有多少天 实现原理:先利用DATEDIFF取得当前月的第一天,再将月份加一取得下月第一天,然后减去1分钟,再取日期的 天数部分,即为当月最大日期,也即当月天数 CREATE FUNCTION DaysInMonth ( @date datetime ) Returns int AS BEGIN RETURN D
1、确定某年某月有多少天
实现原理:先利用DATEDIFF取得当前月的第一天,再将月份加一取得下月第一天,,然后减去1分钟,再取日期的
天数部分,即为当月最大日期,也即当月天数
CREATE FUNCTION DaysInMonth ( @date datetime ) Returns int
AS
BEGIN
RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0)))
END
调用示例:
select dbo.DaysInMonth ('2006-02-03')
(2)计算哪一天是本周的星期一
SELECT DATEADD(week, DATEDIFF(week,'1900-01-01',getdate()), '1900-01-01') --返回2006-11-06 00:00:00.000
或
SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0)
(3)当前季度的第一天
SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000
(4)一个季度多少天
declare @m tinyint,@time smalldatetime
select @m=month(getdate())
select @m=case when @m between 1 and 3 then 1
when @m between 4 and 6 then 4
when @m between 7 and 9 then 7
else 10 end
select @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01'
select datediff(day,@time,dateadd(mm,3,@time)) —返回92
内容总结
以上是互联网集市为您收集整理的经典SQL自定义函数全部内容,希望文章能够帮你解决经典SQL自定义函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。