我想基於時間的價值來計算列,我不完全確定如果我應該使用If條件或Case,最好使用什麼?基於mysql的時間值計算
這裏是我的專欄
| Time_In | Time_Out | Val1 | Val2 |
| 2014-07-19 04:00:04 | 2014-07-19 08:00:00 | 5 | 15 |
我想要做的是如果時間如果時間是'08之間:'17至:00:00 00' :00(業務小時),它會自動繁殖VAL1和val2
如果時間'18:00:00' 到'23:00:00' (後營業時間)
唯一的一步,我能現在得到的是在時間戳中獲得時間,因爲這是我將比較
`SELECT date_format(STR_TO_DATE(Time_In, '%Y-%m-%d %H:%i:%s'), '%H:%i:%s')
Output: 04:00:04
`SELECT date_format(STR_TO_DATE(Time_Out, '%Y-%m-%d %H:%i:%s'), '%H:%i:%s')
Output: 08:00:00
我應該如何構造這個?
感謝您的幫助
我嘗試了第一次使用if條件,這是工作:)
SELECT
IF(`Time_In` >= CAST('13:00:01' AS time) AND `Time_Out` <= CAST('15:00:00' AS time),(Val11 * Val2),'false')
FROM table WHERE ID = '5'
,並得到了輸出75
:d
請解釋一下,這時間值應爲04:00:00和10:00:00之間? Time_In,Time_Out,還有其他值? – VMai
嗯,如果時間值剛好在'04:00:00'和'10:00:00'之間,可以嗎?或者應該有三個時間值? – user3856951
我只是不知道這個時間價值從哪裏來? – VMai