5
Tôi có tham số phạm vi ngày, cần phải chia thành nhiều ngày và mỗi tham số sẽ có cùng thời gian với tham số.Cách thêm thời gian cho đến ngày
Bạn không chắc chắn vấn đề với ADDTIME
là gì, có thể Im thiếu một diễn viên? Tôi có thể giải quyết nó đúc thành chuỗi và concat nhưng tôi đoán nên được dễ dàng hơn.
Output Current
selectDate time(@s_date) time(@e_date) addtime(date(a.selectDate), time(@s_date))
1 2016-09-03 08:00:00 16:00:00 08:00:00
2 2016-09-04 08:00:00 16:00:00 08:00:00
Desire Output
selectDate time(@s_date) time(@e_date) addtime(date(a.selectDate), time(@s_date))
1 2016-09-03 08:00:00 16:00:00 2016-09-03 08:00:00
2 2016-09-04 08:00:00 16:00:00 2016-09-04 08:00:00
Có thể giải pháp:
CONCAT(DATE_FORMAT(a.selectDate, '%Y-%m-%d '),
DATE_FORMAT(@s_date, '%H:%i:%s')) as start_time,
tôi b ig query
select a.selectDate,
time(@s_date),
time(@e_date),
addtime(date(a.selectDate), time(@s_date))
from (
select '1900-01-01' + INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) + (10000 * e.a)) DAY as selectDate
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as e
) a
CROSS JOIN (SELECT @s_date := '2016-09-03 08:00:00', @e_date := '2016-09-04 16:00:00') par
WHERE selectDate BETWEEN date(@s_date)
AND date(@e_date)
Hãy thử như dàn diễn viên này .Chọn (concat (selectdate,'', thời gian) làm datetime). –
Thanks @PrasannaKumarJ Bạn nói đúng là đơn giản hơn. Vẫn tự hỏi tại sao có thể thêm thời gian sử dụng. –