SQL如何判断并读取时间段数据

baibaip22 2018-01-10 03:43:39
求一个存储过程
IF 现在是5:00:00以前 则
读取 昨日12:00 到 今日凌晨5:00 之间的数据
else
读取 今日12:00 到 今日23:59:59 之间的数据
结束

PS:关键是 存储过程里 不知道 怎么弄 时间与日期拼接
...全文
463 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-01-10
  • 打赏
  • 举报
回复
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(id INT IDENTITY(1,1) PRIMARY KEY,d DATETIME)
INSERT INTO t VALUES ('2018-01-10 13:00')
INSERT INTO t VALUES ('2018-01-09 12:00')
INSERT INTO t VALUES ('2018-01-10 12:00')
------------------- 测试数据结束 ----------------------

DECLARE @yesterday12 DATETIME,@today5 DATETIME,@today12 DATETIME,@today235959 DATETIME
SET @yesterday12=CONVERT(CHAR(10),getdate()-1,120)+' 12:00:00'
SET @today5=CONVERT(CHAR(10),getdate(),120)+' 05:00:00'
SET @today12=CONVERT(CHAR(10),getdate(),120)+' 12:00:00'
SET @today235959=CONVERT(CHAR(10),getdate(),120)+' 23:59:59'

IF GETDATE()<@today5
BEGIN
	SELECT * FROM t WHERE d BETWEEN @yesterday12 AND @today5 
END
ELSE
BEGIN
	SELECT * FROM t WHERE d BETWEEN @today12 AND @today235959
END
baibaip22 2018-01-10
  • 打赏
  • 举报
回复
SQLSERVER2008R2

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧