共計 785 個字符,預計需要花費 2 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
sqlserver 中如何查詢出連續日期記錄,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
Insus.NET 嘗試寫了程序并做了測試,可以得到預期的結果,SQL 代碼可參考和學習之用。復制代碼 代碼如下:
– 創建一個臨時表,將會存儲連續日期的記錄 CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME) DECLARE @sD DATETIME – 開始日期 DECLARE @eD DATETIME – 結束日期 – 在記錄中,找出開始與結束日期 SELECT @sD = MIN([SDATE]), @eD = MAX([SDATE]) FROM [TT] DECLARE @N INT = 0 – 宣告一個變量,存儲累記錄數 – 循環日期 WHILE (@sD = @eD) BEGIN – 如果存在 IF EXISTS (SELECT TOP 1 1 FROM [TT] WHERE [SDATE] = @sD) BEGIN SET @sD = DATEADD(day,1,@sD) – 日期加 1 天 SET @N = @N + 1 – 記錄加 1 END ELSE – 如果不存在 BEGIN IF (@N = 3) – 判斷是否大于或等于 3 INSERT INTO #temp SELECT [IDD],[SDATE] FROM [TT] WHERE [SDATE] BETWEEN DATEADD(day,-@N,@sD) AND @sD – 日期加 1 天 SET @sD = DATEADD(day,1,@sD) SET @N = 0 – 初始化為 0 END END – 列出符合條件的記錄 SELECT * FROM #temp
關于 sqlserver 中如何查詢出連續日期記錄問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。
向 AI 問一下細節