筆記T-SQL 列出區間內每日日期. ... SELECT @Temp_Date = DATEADD(DAY, 1, @Temp_Date ). END. SELECT *. FROM @DayTable ... ... <看更多>
sql時間區間 在 [SQL ] 時間區間中的數量- 看板Database - PTT數位生活區 的推薦與評價
[SQL ] 時間區間中的數量. +收藏. 分享. 看板Database (資料庫)作者jomi5566 (啾咪5566)時間9年前發表 ( 2013/08/30 17:37 ), 編輯推噓0( 0推 0噓 2→). ... <看更多>
sql時間區間 在 Re: [SQL ] 判斷重疊的時間- 看板Database - 批踢踢實業坊 的推薦與評價
這樣的設計方式沒什麼不好啊
要比較兩個日期區間的話,先看一下範圍的概念
固定資料 時間點A 時間點B
+ +
1 在範圍內 a1--------b1
2 在範圍內 a2----------b2
3 在範圍內 a3---------b3
4 在範圍內 a4-------------------------------b4
5 不在範圍內 a5----b5
6 不在範圍內 a6-----b6
所以當 B > A 時
只要 b < A 或 a > B 即不在範圍內
反過來說 只要 a < B 且 b > A 就一定是在範圍內
接下來就看你要用 TIMEDIFF 還是直接比較( <= , >=)都可以
SELECT t1.id
FROM t t1
LEFT JOIN t t2 ON t1.bdate=t2.bdate
WHERE t1.timeS<t2.timeC AND t1.timeC>t2.timeS AND t1.id<t2.id;
大致上會長這樣
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ==.=== [嘆氣]
: 隨便亂 google datetime function,第一個會得到這個
: https://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
: (這應該是用 mysql 一定會 bookmark 起來的 reference 吧...)
: 你想辦法去把你的「日期」跟「開始時間」組成一個欄位
: 看是要用 STR_TO_DATE() 還是啥(只能說你的欄位設計的... [默])
: 然後接下來大概是 DATEDIFF()
: ※ 引述《Rukawa31 (hold on)》之銘言:
: : 想請問一下
: : 如果有個table主要用來記錄時間的
: : ┌──────┬───────┬───────┐
: : │ 日期 │ 開始時間 │ 結束時間 │
: : ├──────┼───────┼───────┤
: : │ 2008-10-10 │ 8:00 │ 22:00 │
: : ├──────┼───────┼───────┤
: : │ .......... │ .... │ ..... │
: : │ .......... │ .... │ ..... │
: : │ .......... │ .... │ ..... │
: : └──────┴───────┴───────┘
: : 想要搜尋與此table任何時間重疊的資料
: : 例如: 2008-10-10 21:59 23:00 ( O )
: : 2008-10-10 22:59 23:00 ( X )
: : 請問單純用SQL作得到嗎@@?
: : 我使用的是MySQL
: : 不知道這樣表達板友看不看得懂QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.158.15
... <看更多>