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

fzsnzjdm  于 2021-06-19  发布在  Mysql
关注(0)|答案(3)|浏览(310)

我想计算的日期计算天数和计算价格或自定义价格在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
dffbzjpn

dffbzjpn1#

在公共列上连接两个表 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

记住,你应该从一个较早的日期(drop-pick)中减去以后的日期,而不是(pick-drop),因为这会给你一个负数。

ve7v8dk2

ve7v8dk22#

您可以将日期字段数据转换为天,然后减去它们,再乘以价格。请注意,不同的sql实现的语法可能不同。如果使用正确的mysql语法,这将是:

SELECT (TO_DAYS(drop_date) - TO_DAYS(pick_date)) * price FROM tbl_booking;

另请注意,根据您的代码,tbl\u booking不包含price字段,因此您可能还需要加入另一个表。

svmlkihl

svmlkihl3#

使用方法如下:

DATEDIFF(pick_date , drop_date) * price

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

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

输出为:10
由于您的价格在另一个表中,希望您能加入并计算。

相关问题