如何在日期和价格之间在MySQL中创建计算

时间:2018-10-19 06:29:35

标签: mysql sql

我想计算日期以计算天数,并在MySQL中使用价格或自定义价格进行计算。

这是预订表

CREATE TABLE tbl_booking(

booking_id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11),
comp_id int(11),
register_number varchar(100),
booking_status int(11),
pick_date date,
drop_date date,)

这是车辆桌子

CREATE TABLE tbl_vehicle(
register_number varchar(100) NOT null,
vehicle_model varchar(255), 
vehicle_type varchar(255),
vehicle_price varchar(10));

所以,像这样:

totalprice = (pick_date - drop_date) * vehicle_price

3 个答案:

答案 0 :(得分:2)

在似乎为register_number的公共列上加入两个表,然后使用datediff计算两个日期之间的天数差,然后乘以价格以得出每次预订的总价:

select 
  b.*, 
  datediff(b.drop_date, b.pick_date) * v.price as total_price
from tbl_booking b
inner join tbl_vehicle v on
  b.register_number = v.register_number

请记住,您应该从较早的日期(删除-选择)中减去较晚的日期,而不是(选择-删除),因为这将给您带来一个负数。

答案 1 :(得分:1)

在下面使用:

DATEDIFF(pick_date , drop_date) * price

DATEDIFF 将为您提供两个日期之间不同的日期。

SELECT DATEDIFF("2017-06-25", "2017-06-15");  

输出将为: 10

由于您的价格在另一个表格中,希望您能够加入并进行计算。

答案 2 :(得分:1)

您可以将日期字段数据转换成天,然后减去它们,然后乘以价格。请注意,语法在SQL的不同实现中可能有所不同。如果使用正确的MySQL语法,则将是:

document.getElementById("#searchInput").value

还要注意,根据您的代码,tbl_booking不包含价格字段,因此您可能还需要与另一个表联接。