iT邦幫忙

1

SQLSERVER 如何讀取時間區間數據

求一個SP 
IF 現在是早上八點以前 
讀取 昨日12:00 到 今日早上8:00 之間的數據 
else
讀取 今日12:00 到 今日23:59:59 之間的數據
結束

知道怎麼寫一些概念,但不知道怎麼拼接

1 個回答

2
暐翰
iT邦大師 5 級 ‧ 2018-03-10 23:54:23
最佳解答

簡單照著你的邏輯直覺寫的,有沒有可優化部分還沒想過

--SQL部分
DECLARE @昨天十二點 DATETIME,@今天八點 DATETIME,@今天十二點 DATETIME,@今天最後時間 DATETIME
SET @昨天十二點=CONVERT(CHAR(10),getdate()-1,120)+' 12:00:00'
SET @今天八點=CONVERT(CHAR(10),getdate(),120)+' 08:00:00'
SET @今天十二點=CONVERT(CHAR(10),getdate(),120)+' 12:00:00'
SET @今天最後時間=CONVERT(CHAR(10),getdate(),120)+' 23:59:59'

IF GETDATE()<@今天八點
BEGIN
	SELECT * FROM 你的表格 WHERE 時間 BETWEEN @昨天十二點 AND @今天八點 
END
ELSE
BEGIN
	SELECT * FROM 你的表格 WHERE 時間 BETWEEN @今天十二點 AND @今天最後時間
END

我要發表回答

立即登入回答