惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
IT之家
IT之家
月光博客
月光博客
U
Unit 42
K
Kaspersky official blog
T
Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
Engineering at Meta
Engineering at Meta
Recorded Future
Recorded Future
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Schneier on Security
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog RSS Feed
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
爱范儿
爱范儿
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
C
Cisco Blogs
Spread Privacy
Spread Privacy
F
Full Disclosure
博客园 - 聂微东
T
The Blog of Author Tim Ferriss

博客园 - kingeric

关于OA流程相关数据表的设计 没事干写写流程审批数据库的设计 修改KindEditor编辑器 版本3.5.1 夏天到了,什么时候园子的T恤可以出来? Flash大文件上传(带进度条) NET打包時加入卸载功能 - kingeric - 博客园 c#水晶报表注册码 VS2005项目的安装与布署 让.Net程序脱离.net framework框架运行的方法(转载) 超级实用且不花哨的js代码大全 一级MS软件下载 MyTextBoxControls正式推出第一个版本T1.1.0.1 排列组合与回溯算法 采用正则表达式获取图片地址 Myweb新闻系统,正式推出第一个版本 T1.1.0 弹出一个层屏蔽页面登录 MyPager分页控件 正式推出第一个版本 T 1.1.5 常用到的一些正则表达式 c#:文件对话框(FileDialog)
sqlserver:某年份某月份 是否在某时间段内的函数
kingeric · 2010-10-02 · via 博客园 - kingeric

如题:今日碰到这个问题,比较郁闷,干脆自己写了个函数

代码

-- 
--
 IF OBJECT_ID (N'f_dtbj') IS NOT NULL
--
 DROP FUNCTION f_dtbj
--
 GO

create function f_dtbj(@year int,@month int,@dt1 datetime,@dt2 datetime)
returns  int 
as 
begindeclare @dt DateTime
   
declare @dtDay int
   
set @dt=convert(datetime,convert(varchar,@year)+'-'+convert(varchar,@month)+'-1')select @dtDay=day(dateadd(dd,-1,cast(convert(varchar(6),dateadd(mm,1,@dt),112)+'01' as datetime))) 
    
declare @inx int
   
declare @k int
   
declare @x1 int
   
declare @x2 int
   
set @k=1while(@k<=@dtDay)
      
begin
      
set @dt=convert(datetime,convert(varchar,@year)+'-'+convert(varchar,@month)+'-'+convert(varchar,@k))
      
select @x1=datediff(month,@dt1,@dt)
      
select @x2=datediff(month,@dt,@dt2)
      
if @x1>=0 and @x2>=0 --在时间段里
          begin
          
set @k=@dtDay+1 --跳出
          set @inx= 1
          
end
      
else
          
begin
          
set @k=@k+1
          
set @inx=0
          
end
      
endreturn @inx
end