标签归档:sql技巧

mssql sqlserver 根据关键字查找其所属的存储过程或函数呢?


摘要:
下文讲述sqlserver使用关键字检索其所属存储过程或函数的方法分享,如下所示:


实现思路:
通过查找系统存储过程INFORMATION_SCHEMA.ROUTINES的列 routine_definition

  SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE  
 routine_definition LIKE '%关键词 %'

mssql sqlserver 如何使用sql脚本获取指定日期的前一天、一月、一年所对应的日期呢?


摘要:
下文讲述sqlserver中使用sql脚本获取指定日期的前一天、一月、一年所对应的日期的方法分享,如下所示:


实现思路:
在sqlserver中使用datediff函数,即可实现datediff日期的操作,如下所示:


1.获取周的相关数据

---获取本周的最后一天的日期
select DATEADD(WK,DATEDIFF(WK,0,GETDATE()),6) 

---检索本周所有数据
select * from tableName where datediff(week,时间列,getdate()) = 0

---检索上周所有数据
select * from tableName where datediff(week,时间列,getdate()) = 1

---检索下周所有数据
select * from tableName where datediff(week,时间列,getdate()) = -1


2.获取月的相关数据

 

---检索上月所有数据
select * from tableName where datediff(mm,时间列,getdate()) = 1

---检索本月所有数据
select * from tableName where datediff(mm,时间列,getdate()) = 0

---检索下月所有数据
select * from tableName where datediff(mm,getdate(),时间列) = 1


3.获取天的相关数据

 

---检索昨天所有数据
select * from tableName where datediff(dd,时间列,getdate()) = 1

---检索明天所有数据
select * from tableName where datediff(dd,getdate(),时间列) = 1

---检索最近七天所有数据
select * from tableName where datediff(mm,时间列,getdate()) <= 7


4.获取年的相关数据

 

---检索上年所有数据
select * from tableName where datediff(yy,时间列,getdate()) = 1

---检索本年所有数据
select * from tableName where datediff(yy,时间列,getdate()) = 0

---检索下一年度所有数据
select * from tableName where datediff(yy,getdate(),时间列) = 1