我正在处理折扣,以便在特定时间订购时允许折扣。
一切都运转良好,但我有一个客户的奇怪要求。我的客户有午夜特价。当客户在2小时内(晚上11点至凌晨1点)下订单时,他们希望创建一个特价商品,最高可享受50%的折扣(基于$$$金额订单)。
如您所见,凌晨1点是第二天。所以,从晚上11点今天到凌晨1点
目前这是我的存储过程(它将根据总支出选择最佳折扣):
StartTime <= EndTime
只要StartTime > EndTime
,一切正常。知道如何在CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
由于
答案 0 :(得分:1)
WHERE (@TotalSpend >= [MinSpend]) AND
(
(
/* E.g. 8pm - 10pm: */
(
CAST([StartTime] AS TIME)
<
CAST([EndTime] AS TIME)
)
AND
(
(@OrderTime >= CAST([StartTime] AS TIME))
AND /* Note: AND */
(@OrderTime <= CAST([EndTime] AS TIME))
)
)
OR
(
/* E.g. 11pm - 1am: */
(
CAST([StartTime] AS TIME)
>
CAST([EndTime] AS TIME)
)
AND
(
@OrderTime >= CAST([StartTime] AS TIME)
OR /* Note: OR */
@OrderTime <= CAST([EndTime] AS TIME)
)
)
)
...